设计模式系列-简单工厂模式
介绍
为了更好的管理创建对象,我们通常使用工厂模式
① new
对象的话,一旦代码有变化或者拓展,就必须改变原来的代码,也就是说你的代码不 “ 对修改关闭 ”
设计原则之一:对扩展开放,对修改关闭
② 解耦,便于更新和维护
栗子
项目目录
UML 图
代码
Mouse.php
1 |
|
WinMouse.php
1 |
|
MacMouse.php
1 |
|
SimpleFactory.php
1 |
|
总结
简单工厂模式将具体创建流程隐蔽起来,明确了各自的职责和权利。然而出现第三种类型鼠标,那么就要修改简单工厂类逻辑。这样子就违背了对修改关闭的原则。
简单工厂模式第一眼看起来和策略模式非常像,其中的区别就是策略更关注行为,Centext
类是用来切换策略来执行对应逻辑的。而简单工厂就只是创建一个工厂对象而已。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 梧桐树下!
评论