1、工厂方法设计模式主要是核心的工厂类不在去负责产品的创建,而是将具体的创建的工作交给子类去做,而不接触具体应该哪个产品被创建以及如何创建的细节。
2、uml图如下
3、java代码
public abstract class Factory {
public Product create(String owner){
Product p = createProduct(owner);
registerProduct(p);
return p;
}
public abstract Product createProduct(String owner);
public abstract void registerProduct(Product p);
}
public class IDCard extends Product {
private String owner;
public IDCard(String owner) {
this.owner = owner;
System.out.println(owner + "的卡被建立");
}
public void use() {
System.out.println(owner + "的卡被使用");
}
}
public class IDCardFactory extends Factory{
private Vector owners = new Vector();
public Product createProduct(String owner) {
Product p = new IDCard(owner);
return p;
}
public void registerProduct(Product p) {
owners.add((IDCard)p);
}
}
public abstract class Product {
public abstract void use();
}
public class Main {
public static void main(String[] args) {
Factory factory = new IDCardFactory();
Product p = factory.create("aaa");
Product p1 = factory.create("bbb");
p.use();
p1.use();
}
}
分享到:
相关推荐
C++设计模式课件8_Factory Method_工厂方法.pdf
C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) (Level 300)
C#面向对象设计模式纵横谈:Factory Method 工厂方法模式(创建型模式)
C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) 体验课程
C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method) C++的设计模式之工厂方法模式(Factory Method)
设计模式C++学习之工厂方法模式(Factory Method)
FACTORY METHOD(工厂方法)
Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)
Factory Method设计模式C#中的实现例子
NULL 博文链接:https://lym6520.iteye.com/blog/698013
Factory Method 设计模式 工厂方法模式
NULL 博文链接:https://zhouhaitao.iteye.com/blog/1003702
它们都是由不同的厂家生产的,这就是工厂方法模式(FactoryMethod)与前面所说的简单工厂模式(SimpleFactory)的差别。 实例: 多文档系统。我已经用C#的源码编程了:请下载Factory Method Patter.rar
设计模式 t02FactoryMethod
设计模式培训-factorymethod
设计模式之FactoryMethod的CHM文档
2. 工厂方法模式(Factory Method) 3. 抽象工厂模式(Abstract Factory) 这三种模式从上到下逐步抽象,并且更具一般性。还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。下面是使用...
C++设计模式代码资源8_Factory Method.zipC++设计模式代码资源8_Factory Method.zipC++设计模式代码资源8_Factory Method.zip
.wkpf,.wkpf1{ font-family:"微软雅黑"; font-size:13px; line-height:30px; text-decoration:none; color:#818183;}1599次浏览 评价:好中差 概述...这就是要说的FactoryMethod模式了。意图定义一个用户创建