null第2章 曹操献刀:工厂
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
模式第2章 曹操献刀:工厂方法模式2.1 三国故事之曹操献刀2.2 模式定义2.3 故事中的模式分析2.4 故事的工厂方法模式实现2.5 设计原则2.6 使用场合2.7 本章要点2.1 三国故事之曹操献刀2.1 三国故事之曹操献刀图2-1 “三国”电影中曹操献刀2.2 模式定义2.2 模式定义所谓工厂方法模式(Factory Method Pattern),就是定义一个创建产品对象的工厂接口,让子类决定实例化哪一种实例对象,也就是将实际创建实例对象的工作推迟到子类当中,核心工厂类不再负责具体产品的创建。
2.3 故事中的模式分析2.3 故事中的模式分析2.3.1 故事中的角色
我们看一下故事中出现的人物和事物各自对应工厂方法设计模式的哪些部件,如下所示:
大司徒王允—宝刀工厂(负责提供宝刀)
校尉曹操—获得七星宝刀的具体工厂
七星宝刀—具体产品(宝刀中的一类)
三者之间的关系如图2-2所示。
2.3.2 抽象化分析方法2.3.2 抽象化分析方法其实我们可以再抽象化一点:大司徒王允拥有很多宝刀,而七星宝刀是其中最好、最锋利的一把,曹操获得的就是这把最锋利的七星宝刀。OK!我们已经使用了抽象的概念了!抽象之后的关系如图2-3所示。
2.3.3 工厂方法模式的静态建模2.3.3 工厂方法模式的静态建模静态类图结构如图2-4所示(图中斜体部分
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示无方法体的方法声明,即无方法体的抽象方法或者接口方法。2.4 故事的工厂方法模式实现2.4 故事的工厂方法模式实现2.4.1 建立产品
1.抽象宝刀——AbstractSword
2.具体宝刀——QixingSword七星宝刀
2.4.2 建立工厂
1.抽象宝刀工厂——ISwordFactory 生产抽象宝刀
2.具体宝刀工厂——Caocao 生产七星宝刀
2.4.3 故事情节的历史重现
2.4.4 用八星宝刀来考验模式
1.创建八星宝刀——BaxingSword
2.创建具体宝刀工厂——Caocao2 生产八星宝刀
3.让曹操使用八星宝刀刺杀董卓
2.5 设计原则2.5 设计原则1.“开-闭”原则
2.依赖倒置原则2.6 使用场合2.6 使用场合工厂方法设计模式如图2-9所示。2.6 使用场合2.6 使用场合扩展:Java SDK中的工厂方法模式
java.util.ArrayList也是java.util.List类的一个子类,实现了其iterator()接口方法,返回具体的迭代器AbstractList$Itr(具体产品),Itr类也是作为AbstractList的内部私有类使用,如图2-10所示。
2.7 本章要点2.7 本章要点1.工厂方法模式
2.设计原则
3.工厂方法模式的使用场合