工厂模式学习
来源:互联网 发布:怎样增加淘宝销量 编辑:程序博客网 时间:2024/06/05 19:25
简单工厂模式:
创建对象比较复杂,需要做一些初始化的动作,可以考虑使用工厂模式中创建对象来实现;优点:简单工厂模式,客户端不负责对象的创建,只负责对象的调用。对象的创建有工厂模式实现。(单一职责原则)。缺点:由于这个工厂负责所有对象的创建,当子类不断增多的时候,需要修改工厂的创建代码来满足客户端的调用,违反了开闭原则。
工厂方法模式:
针对每个对象创建一个工厂类。优点:工厂方法模式,客户端不负责对象的创建。当有新的子类添加的时候,只需要添加一个子类和一个子类的工厂类即可。不需要修改以前的结构,易于维护和扩展。缺点:需要额外编写更多的代码,增加工作量。
抽象工厂模式:
有不同的等级结构,方法工厂模式只有一层等级结构。优点:可以在类的内部对产品族进行约束;缺点:对产品族扩展十分费力,对产品结构的划分非常重要。
总结
无论是简单工厂模式,工厂方法模式,还是抽象工厂模式,他们都属于工厂模式,在形式和特点上也是极为相似的,他们的最终目的都是为了解耦。在使用时,我们不必去在意这个模式到底工厂方法模式还是抽象工厂模式,因为他们之间的演变常常是令人琢磨不透的。经常你会发现,明明使用的工厂方法模式,当新需求来临,稍加修改,加入了一个新方法后,由于类中的产品构成了不同等级结构中的产品族,它就变成抽象工厂模式了;而对于抽象工厂模式,当减少一个方法使的提供的产品不再构成产品族之后,它就演变成了工厂方法模式。
1 0
- 工厂模式学习笔记
- 简单工厂模式学习
- 简单工厂模式学习
- 工厂模式学习
- 工厂模式学习
- 工厂模式的学习
- c++工厂模式学习
- 学习简单工厂模式
- 简单工厂模式学习
- 工厂模式学习
- 学习日记-工厂模式
- 工厂模式学习记录
- 抽象工厂模式学习
- 工厂模式学习
- 工厂模式学习
- 简单工厂模式学习
- 工厂模式学习笔记
- 工厂模式学习笔记
- 开发过程
- smarty在普通php页面使用流程
- Java Web中的EL(表达式语言)详解
- C语言多线程
- java反射机制
- 工厂模式学习
- 待补充:java类里的私有变量问题,在对象A里有一个对象B,调用对象B的方法获取变量,会有短暂的缓存
- 12306火车票查询
- 新浪实时股票数据接口http://hq.sinajs.cn/list=code
- [Leetcode]3. Longest Substring Without Repeating Characters
- SAX解析xml文件
- jacob操作office分享
- 读取手机相册,从手机相册读取图片剪切,拍照获取图片,获取拍照图片进行剪切
- 编程之美--小飞的电梯调度算法