工厂设计模式_第1页
工厂设计模式_第2页
工厂设计模式_第3页
工厂设计模式_第4页
工厂设计模式_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设计模式- -工厂模式目 录 简单工厂总结 工厂方法 依赖倒置原则 抽象工厂 比较工厂方法和抽象工厂2简单工厂总结简单工厂其实并不是一个设计模式,反而更像一种编程习惯,由于经常使用,才给它一个“Head First Pattern荣誉奖”。不要因为简单工厂不是一个“真正的”设计模式而忽略它的用法。让我们看看我们创建的披萨店类图:简单工厂总结工厂方法工厂方法模式都用来封装对象的创建,它通过让子类决定该创建的对象是什么。看我们的例子:5工厂方法6工厂方法平行的类层次7工厂方法工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。注意:所谓的“决定

2、”,并不是指允许子类本身在运行时做决定,而是指编写创建者类时,不需要知道实际创建的产品是哪一个。选择使用哪个子类,自然就决定了实际创建的产品是什么。看看工厂模式标准图:8工厂方法9工厂方法10对该模式的一些讨论结果,参加书135页依赖倒置原则设计原则:要依赖抽象,不要依赖具体类即不能让高层组建依赖低层组建,而且,不管高层或底层组建,“两者”都应该依赖于抽象看图:1.在最开始的设计中,PizzaStore的orderPizza方法依赖于具体的Pizza类2.在后面的设计中,将各个Pizza类抽象为一个超类,PizzaStore依赖于这个超类,各子类继承自这个超类11依赖倒置原则12依赖倒置原则1

3、3抽象工厂抽象工厂模式: 提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指明具体类。使用抽象工厂接口来创建一组相关的产品,而不需要知道实际产出的具体产品是什么。看看抽象工厂的标准模式:14抽象工厂15抽象工厂16抽象工厂17比较工厂方法和抽象工厂18比较工厂方法和抽象工厂工厂方法是通过继承的形式来实现的,子类采用自己的形式实现父类的抽象方法,从而实现对多种产品生产的支持。抽象工厂是通过组合的方式,用来创建一个产品家族的抽象类型。抽象工厂实现中利用了工厂方法。因为抽象工厂的每个方法被声明为抽象的方法,由子类来实现该方法,这正是工厂方法的思想。注意:如果要扩展抽象工厂抽象出来的一组产品,比如增加或减少一类产品,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论