设计模式(三)--抽象工厂模式
来源:互联网 发布:玩天龙八部网络延迟 编辑:程序博客网 时间:2024/05/01 15:39
设计模式(三)--抽象工厂模式
抽象工厂模式的作用,可以处理具有相同等级结构的多个产品族中产品对象的创建问题。
首先解释一下产品族和相同等级结构的概念
相同等级结构: 抽象产品A和抽象产品B处于同一个继承等级(父类),因此成为具有相同等级结构。这里关键是要理解A和B都是相互独 立的抽象产品,在JAVA中用接口定义。
产品族:具体产品A1和具体产品A2都是由抽象产品继承下来的产品,这两个子类成为父类的产品族
抽象工厂的类图如下
抽象工厂的源代码
public interface Creator { /** * A的抽象工厂方法 */ public ProductA factoryA(); /** * B的抽象工厂方法 */ public ProductB factoryB(); }
具体工厂1的源码
public class ConcreteCreator1 implements Creator { /** * A的具体工厂 */ public ProductA factoryA() { return new ProductA1(); } /** * B的具体工厂 */ public ProductB factoryB() { return new ProductB1(); } }
具体工厂2的源码
public class ConcreteCreator2 implements Creator { /** * A的具体工厂 */ public ProductA factoryA() { return new ProductA2(); } /** * B的具体工厂 */ public ProductB factoryB() { return new ProductB2(); } }
抽象产品A源码
public interface ProductA { }
抽象产品B源码
public interface ProductB { }
具体产品A1源码
public class ProductA1 implements ProductA { public ProductA1() { //do something } }
具体产品A2源码
public class ProductA2 implements ProductA { public ProductA2() { //do something } }
具体产品B1源码
public class ProductB1 implements ProductB { public ProductB1() { //do something } }
具体产品B2源码
public class ProductB2 implements ProductB { public ProductB2() { //do something } }
0 0
- 设计模式(三)---抽象工厂模式
- 设计模式(三)--抽象工厂模式
- 设计模式(三)---抽象工厂模式
- 设计模式(三)抽象工厂模式
- 工厂设计模式(三)--抽象工厂模式
- 三 设计模式之抽象工厂模式
- 设计模式之三--抽象工厂模式
- 设计模式之三:抽象工厂模式
- 设计模式之三抽象工厂模式
- 设计模式(三) 抽象工厂模式
- java设计模式(三)--抽象工厂模式
- 设计模式之三:抽象工厂模式
- 设计模式之三:抽象工厂模式
- 设计模式之三:抽象工厂模式
- JAVA设计模式三抽象工厂模式
- 设计模式之抽象工厂模式(三)
- 工厂模式(三)--抽象工厂模式
- 设计模式 (三)抽象工厂模式(AbstractFactory)
- To say that twenty-eight stars
- 检测unicode字符集(中文 日文 等其它)
- WCF Service Application和WCF Service Library的区别
- jsp有哪些内置对象作用分别是什么?
- NeHe OpenGL lession 4
- 设计模式(三)--抽象工厂模式
- sdut 面向对象程序设计上机练习四(变量引用)
- 贡献式编程(一)
- jsp面试题
- 另5个你不知道的HTML5接口API
- [leetcode] Minimum Window Substring
- AFNetworking2.0源码解析<一>
- HTML5 Web Storage 特性
- hdoj 2102 A计划 【BFS】