工厂模式在PHP中用于解耦对象创建,包括简单工厂(非GoF标准,封装if-else与new)、工厂方法(抽象工厂+子类实现createService)和抽象工厂(创建产品族,如Windows/Mac UI组件),强调接口约束、依赖注入与PSR-4自动加载。
工厂模式在PHP中主要用于解耦对象的创建过程,让类的实例化逻辑集中管理,便于扩展和维护。它不直接new具体类,而是通过一个“工厂”来决定创建哪个对象。
简单工厂不是GoF23种设计模式之一,但最易理解,适合入门。核心是把if-else判断对
象类型和new操作封装起来。
当产品种类增多、创建逻辑变复杂时,用工厂方法更灵活。它把对象创建延迟到子类中实现。
适用于系统需要多套产品族(如不同平台的UI组件:Windows风格按钮+文本框,Mac风格按钮+文本框)。
PHP中构建工厂模式的关键是利用接口约束行为、用依赖注入替代硬编码new、配合自动加载(如Composer PSR-4)管理类路径。不需要过度设计,从简单工厂起步,按需升级到工厂方法或抽象工厂。基本上就这些。