`
TJYCHYANGCHENHUI
  • 浏览: 12511 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Design Pattern (Factory Method)[Factory Method Pattern]

阅读更多
[list]
[1]工厂方法模式
    在上一个博客中【http://tjychyangchenhui.iteye.com/admin/blogs/1571293
    介绍了[Simple Factory Pattern],接下来将会探讨[Factory Method Pattern]与[Simple Factory Method Pattern] 模式的异同之处和[Factory Method Pattern] 的优势所在.

[2][Factory Method Pattern] 的非静态工厂代码示例

  
package com.tjych.factorypattern.factorymethod;

public interface IFactory {
	
	
/**
 * @label Creates
 */

/*#com.tjych.factorypattern.factorymethod.Product lnkProduct*/

public IProduct createProduct();	
	
}

  



package com.tjych.factorypattern.factorymethod;

public interface IFactorySecond extends IFactory {
	
}



package com.tjych.factorypattern.factorymethod;


/**
 * 工厂类,用于产生客户希望的Product
 * 
 * @author 杨晨辉
 * 
 */
public class FactoryDemo1 implements IFactory{

	
	
/**
 * @label Create
 */

/*#com.tjych.factorypattern.factorymethod.Product1 lnkProduct1*/

@Override
	public IProduct createProduct() {
		
		return new Product1();
	}

}




package com.tjych.factorypattern.factorymethod;

public class FactoryDemo2 implements IFactory {

	
/**
 * @label Create
 */

/*#com.tjych.factorypattern.factorymethod.Product2 lnkProduct2*/

@Override
	public IProduct createProduct() {
		
		return new Product2();
		
	}

}




package com.tjych.factorypattern.factorymethod;

public class FactorySecond1 implements IFactorySecond {

	@Override
	public IProduct createProduct() {
		return new ProductSecond1();
	}

}




package com.tjych.factorypattern.factorymethod;

public class FactorySecond2 implements IFactorySecond {

	@Override
	public IProduct createProduct() {
		return new ProductSecond2();
	}

}





package com.tjych.factorypattern.factorymethod;

public interface IProduct {
	public void sampleMethod();

}



package com.tjych.factorypattern.factorymethod;

public interface IProductSecond extends IProduct {

	void test();

}




package com.tjych.factorypattern.factorymethod;

public class Product1 implements IProduct {

	@Override
	public void sampleMethod() {
		System.out.println("This is the method sampleMethod of Product1");

	}

}





package com.tjych.factorypattern.factorymethod;

/**
 * 
 * @author 杨晨辉
 * 
 */
public class Product2 implements IProduct {

	@Override
	public void sampleMethod() {
		System.out.println("this is the sampleMethod of Product2");
	}

}





package com.tjych.factorypattern.factorymethod;

public class ProductSecond1 implements IProductSecond {

	@Override
	public void sampleMethod() {
		System.out.println("this is the sampleMethod of ProductSecond1");
	}

	@Override
	public void test() {
		// TODO Auto-generated method stub
		
	}

}




package com.tjych.factorypattern.factorymethod;

public class ProductSecond2 implements IProductSecond {

	@Override
	public void sampleMethod() {
		System.out.println("this is the sampleMethod of ProductSecond2");
	}

	@Override
	public void test() {
		// TODO Auto-generated method stub
		
	}

}


[3] [Factory Method Pattern] 的UML 类图




[/list]
  • 大小: 69 KB
分享到:
评论

相关推荐

    Design*Pattern*Framework*4.5

    "Design*Pattern*Framework*4.5" 可能指的是一个基于 .NET Framework 4.5 的设计模式实现或教程集合。 设计模式是经验丰富的软件开发者的智慧结晶,它们被分为三类:创建型、结构型和行为型。创建型模式涉及对象的...

    factory mode ppt in design pattern

    工厂方法(Factory Method)是一种创建型设计模式,它的主要思想是定义一个创建对象的接口,但让子类决定实例化哪一个类。这样,工厂方法可以将对象的创建延迟到子类中进行,使得系统更具灵活性和扩展性。 **大图景...

    C++设计模式(Design Pattern)范例源代码

    23种设计模式(Design Pattern)的C++实现范例,包括下面列出的各种模式,代码包含较详细注释。另外附上“设计模式迷你手册.chm”供参考。 注:项目在 VS2008 下使用。 创建型: 抽象工厂模式(Abstract Factory) 生成...

    Design Pattern英文版

    设计模式(Design Pattern)是软件工程中的一种经验总结,它是在特定上下文中为解决常见问题而提出的一套可复用的解决方案。设计模式并不直接实现为代码,而是提供了一种在面向对象设计中如何处理常见问题的指南。...

    Homework 2.1-1.doc

    在本作业中,我们面临的是一个使用工厂方法模式来设计汽车保险信息系统的任务。工厂方法模式是一种设计模式,它提供了一种将实例化过程推迟到子类中的方式,从而允许在运行时创建对象的特定类型,而不必在编译时就...

    designpattern.zip

    本资源"designpattern.zip"包含了对Java中23种经典设计模式的详细讲解和代码实例,对于中高级Java工程师来说,是提升开发技能的必备学习材料。 设计模式通常分为创建型、结构型和行为型三大类。创建型设计模式关注...

    Head First Design Pattern

    1. 创建型设计模式:如单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。这些模式主要关注对象的创建过程,帮助我们控制...

    JAVA software design pattern

    2. **工厂模式(Factory Method)**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 3. **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互...

    Design Pattern 简明手册

    ### Design Pattern 简明手册知识点详述 #### 一、接口型(interface)模式 **1. Adapter(适配器模式)** - **定义**:允许一个类接口与另一个不兼容的类接口协同工作。 - **分类**: - **继承型Adapter**:通过...

    design-pattern-factory-method:design-pattern-factory-method:Código-exemplopara ilustrar oPadrãode Projeto Factory Method

    在给定的标题“design-pattern-factory-method:Código-exemplopara ilustrar o Padrão de Projeto Factory Method”中,我们关注的是工厂方法(Factory Method)设计模式。这是一种创建型设计模式,它定义了一个...

    设计模式源码Head_First_DesignPattern_src

    在`Head_First_DesignPattern_src`中,你可以找到`AbstractFactory`、`Product`和`ConcreteProduct`类,它们展示了简单工厂和抽象工厂模式的应用。 3. 观察者模式(Observer): 观察者模式定义了对象之间的一对多...

    DesignPattern

    在这个名为“DesignPattern”的压缩包中,包含了一个关于简单工厂模式(Simple Factory Pattern)的示例,名为“DesignPattern_SimpleFactoryPattern”。 简单工厂模式的核心思想是将对象的创建过程封装到一个单独...

    Factory_Method&&Simple_Factory

    工厂方法模式(Factory Method Pattern)是设计模式中的创建型模式之一,主要解决对象创建过程中的复杂性问题。在软件工程中,当一个类不知道它所必须创建的对象的类的时候,它就不会实例化对象,而是使用一个工厂...

    design pattern中文版

    创建型模式关注对象的创建,如单例模式(Singleton)、工厂模式(Factory Method)和抽象工厂模式(Abstract Factory)等;结构型模式处理对象组合和继承,如适配器模式(Adapter)、装饰器模式(Decorator)和代理...

    DesignPattern.zip

    "DesignPattern.zip"这个压缩包包含了使用C++语言实现的设计模式源代码,适合在Visual Studio 2017环境下编译运行,并且能够方便地移植到Linux平台。下面将对设计模式及其在C++中的应用进行详细阐述。 1. **单例...

    design pattern PPT

    在提供的文件中,设计模式被分为多个类别,包括创建型(如Abstract Factory、Builder、Factory Method、Prototype、Singleton)、结构型(如Adapter、Bridge、Composite、Decorator、Façade、Flyweight、Proxy)、...

    Gof design pattern 中文/英文版+web+学习笔记

    2. **工厂方法模式(Factory Method)**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 3. **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖...

Global site tag (gtag.js) - Google Analytics