设计模式之工厂方法模式
来源:互联网 发布:金融大数据分析师 编辑:程序博客网 时间:2024/06/14 16:28
一. 工厂方法模式
我们知道简单工厂模式的应用就是用来创建一个对象,简单工厂模式是将所有对象的初始化集于一个具体的工厂类来实现,这个工厂类负责所有产品的创建,但是这种创建只能创建单一的产品,如简单工厂模式里的ChickenFactory这种工厂只能生产鸡肉这个系列的产品,而当需求发生变化时简单工厂模式就无法应对了。
例如:我再一次带MM光临了麦当劳时,这次MM不想吃鸡翅了,而是选择了吃汉堡,可见这个时候ChickenFactory无法满足客户需要了,需要做出更改,方法就是再加一个工厂类:HamburgerFactory该类负责创建汉堡系列产品,这种方法造成的直接结果就是每一种产品都需要一个具体的工厂类,造成工厂过多,客户端使用不方便,因为我带MM去麦当劳不能由MM或者我决定鸡翅和汉堡是怎么生产出来的,我们只需要跟服务员说一声吃什么就可以了。 而工厂方法模式正是解决这种弊端而出现的,在工厂方法模式里,由一个抽象工厂类负责所有产品的创建,工厂方法模式可以允许很多具体工厂类从抽象工厂类中将创建行为继承下来,从而可以成为多个简单工厂模式的综合,进而推广了简单工厂模式。
二. 举例:
此模式涉及到的角色:
抽象工厂角色(McDonaldFactory)
具体工厂角色(ChickenFactory, HamburgerFactory)
抽象产品角色(Product)
具体产品角色(ChickenWing, BeefHamburger)
客户端调用:
三. 总结:工厂方法模式的核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,进负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应该被实例化这种细节,这使得工厂方法模式可以用来允许在不修改具体工厂角色的情况下引进新的产品,这一特点使得他具有超过简单工厂模式的优越性。
继续努力,加油!
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式 之 工厂方法
- 设计模式 之 工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 《设计模式》之工厂方法
- 设计模式之--工厂方法
- 【Java】学习笔记——内部类
- 一个通用的php正则表达式匹配或检测或提取特定字符类
- My birthday
- js tree Dtree and Xtree
- 15招快速减少页面载入时间
- 设计模式之工厂方法模式
- 关于wince 加载JPG,PNG图片的方法
- 打着“沟通”的旗号
- 我国软件业结构出现新调整 嵌入式软件增速大降
- 工商银行网站无法访问的解决办法。(网络上面收集来的,看看)
- 解决Eclipse中使用JS保存错误
- Google不为人知的怪异服务
- JSTL的安装
- 从打印素数问题看面向对象的思维方式