【欢迎关注、分享、点赞或评论,您的一个举手之劳,就是最大的鼓励!】
欢迎关注【php在路上】每天进步一点。
码字不容易,尊重版权,转载请注明出处:头条号|PHP在路上。
前言:
到现在为止, 工厂模式 讨论完了,总共用了四小节,分别是概述,简单工厂模式,工厂方法模式和抽象工厂模式。可是,我觉得还是差点意思,那就是没有uml图,另外,也想再次对工厂模式说说自己的一些理解。
内容概要:
1、三种工厂模式的UML图
2、工厂模式总结
一、三种工厂模式的UML图
太懒了,就没画,找出原先学习笔记里的图贴出来,也忘记图原作者是谁了,借用一下哈。
估计看完前前四节内容,这三幅图看起来还是相当容易的,我就不多说了。
二、工厂模式总结
简单工厂模式:用来生产同一类型的任意产品,比如冰激凌是一种类型,有牛奶味的冰激凌,苹果味的冰激凌。对新增产品种类,需要修改代码,适合对象较少的情况。
工厂方法模式:用来生产同一类型的固定产品,支持增加任意产品,适合无法预知产品子类数量的情况。
抽象工厂模式:可以生产不同类型的全部商品。支持增加产品类型,但也不支持新增产品种类,适合生产不同产品组的全部产品。
上面说的有些抽象(表示不好懂,没办法,书面语言嘛)。
我们还是用工厂模式的例子来进行总结:
最后,工厂方法在等级结构和产品类型两个方向的支持情况不同,需要根据实际情况来选择使用合适的工厂模式。
ps:感谢各位朋友的关注、点赞以及评论,是你们给了我特别大的写作热情,明天请继续关注: 单例模式 。