创建型模式包括以下5种:
FactoryMethod ( 工厂方法)
AbstractFactory ( 抽象工厂)
Singleton ( 单态模式 )
Builder ( 建造者模式 )
Prototype 原型模式 )
设计模式之一: 工厂方法
定义:一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到了其子类。
适用性:
1> 当客户程序不需要知道要使用对象的创建过程。
2> 客户程序使用的对象存在变动的可能,或者根本就不知道使用哪一个具体的对象。
参与者
1.Product 定义工厂方法所创建的对象的接口。
2.ConcreteProduct 具体的Product,实现Product接口。
3.Creator 声明工厂方法,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。可以调用工厂方法以创建一个Product对象。
4.ConcreteCreator 重定义工厂方法以返回一个ConcreteProduct实例。
代码如下:
package keifer.share.creationalPattern.factory.method;
public class FactoryMethodPattern {//Test类
public static void main(String[] args) {
IWorkFactory chineseWorkFactory = new ChineseWorkFactory();
chineseWorkFactory.getwork().work();
IWorkFactory americanWorkFactory = new AmericanWorkFactory();
americanWorkFactory.getwork().work();
}
}
interface IHuman {//所属角色:Product
public void work();
}
class AmericanPerson implements IHuman {//所属角色:ConcreteProduct
public void work() {
System.out.println("美国人在工作。");
}
}
class ChinesePerson implements IHuman {//所属角色:ConcreteProduct
public void work() {
System.out.println("中国人在工作。");
}
}
interface IWorkFactory {//工厂类接口。所属角色:Creator
IHuman getwork();
}
class ChineseWorkFactory implements IWorkFactory {//所属角色:ConcreteCreator
@Override
public IHuman getwork() {
return new ChinesePerson();
}
}
class AmericanWorkFactory implements IWorkFactory {//所属角色:ConcreteCreator
@Override
public IHuman getwork() {
return new AmericanPerson();
}
}
/**
运行结果:
中国人在工作。
美国人在工作。
*/
分享到:
相关推荐
JAVA-设计模式-创建型模式-工厂模式
java 创建型模式--工厂模式(Factory Pattern)示范代码demo,关于工厂模式可以查看我的博客 http://blog.csdn.net/u012930316/article/details/54599580
创建型设计模式----抽象工厂模式
创建型设计模式---工厂设计模式实现
c++设计模式-创建型模式-工厂方法模式-最简单的源码-qt工程
JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)
简单工厂模式(不属于23种设计模式范围之内) 用意:一个工厂生产所有产品
最新设计模式超级详解课程,课程深入浅出的探讨了设计模式总览,创建型模式、结构型模式、行为模式的技术教学堪称经典。Spring源码分析,web源码分析,Tomcat架构...├─day01-总览设计模式-07-创建型模式-工厂-工厂
设计模式--抽象工厂模式实现多数据库连接 设计模式,.net设计模式,抽象工厂
c++设计模式-创建型-抽象工厂方法-最简单源码-qt工程
C++设计模式-创建型模式-简单工厂模式源码
Factory Method 工厂方法模式(创建型模式).wmv
软件设计模式-2021秋-实验1-创建型模式实验报告附源码和类图.zip 工厂方法模式、建造者模式、抽象工厂模式、单例模式
抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。
C#面向对象设计模式纵横谈:Factory Method 工厂方法模式(创建型模式)
C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) 视频教程,主讲人李建忠
设计模式_创建型_工厂方法模式
介绍了三种创建型设计模式:简单工厂模式、工厂方法模式、抽象工厂模式;
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...