AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
| 简单工厂模式 | | | --- | --- | 介绍: 简单工厂并不属于23种设计模式; 它的实现和它的名字气质很符; 就是简单; 但是它使用的比较多; 当面对产品经理那句让人肝儿颤的"此处不要写死以后可能会改"的时候; 以及"以后可能要增加**功能"的时候; 那我们都可以先构思下是否适合简单工厂模式; 先来说说应用场景; [TOC] 应用场景: 在不确定有多少种操作的时候; 比如说运算符号 + - * / ; [TOC] 结构: 1个工厂; 1个 interface 或者 abstract 产品父类; 多个实现 interface 或者继承 abstract 的具体产品类; [TOC] 传统的方式是直接把逻辑判断流程和实现代码各种混杂在一起,这样很不OOP,也不利于扩展 [TOC] >如果我们要再增加新的工厂; 那就需要改 Factory 增加 case ; 遇到可能性多的场景那 case 想想都可怕; 这就违反了开放封闭原则; 开放封闭原则简单来说就是对扩展开放对修改封闭; 理想情况下我们是不应该再改动 Factory 类的; 增加新运算应该使用扩展的方式; 这就是简单工厂的弊端了; 为此我们就需要了解下篇文章的工厂方法模式了; [TOC] 个人见解 简单工厂设计模式,一个抽象类,一个工厂类,通过实例化调用工厂类,工厂类再调用具体的方法,工厂类是把那些具体要实现的方法集成在一起 [TOC] 具体的看【白俊遥】的简单工厂模式 代码在 /php.com/core/DesignPatterns/SimpleFactory