概念:
工厂模式(Factory Pattern)是一种创建型设计模式,它提供了一种封装对象实例化过程的方式,客户端只需要关注接口或抽象类,并由工厂类根据具体需求返回相应的实例。工厂模式将对象的创建与使用分离,客户端无需直接调用构造函数来创建对象。工厂模式定义了一个抽象工厂和多个具体工厂,每个具体工厂负责创建特定类型的产品。
特点:
- 封装性:隐藏了对象实例化细节,客户端只需要与抽象接口交互。
- 扩展性:易于添加新产品或变更现有产品的实现。
- 解耦性:将客户端与具体产品之间解耦,降低了代码依赖关系。
优点:
- 符合开闭原则:新增产品时无需修改已有代码,在扩展上更加灵活。
- 降低耦合度:客户端仅依赖于抽象接口而非具体实现类。
- 高内聚、低耦合:相关逻辑被封装在各自的具体工厂中。
缺点:
- 增加系统复杂度:引入额外的类和层级,增加了代码量。
- 需要额外的工厂类:每个具体产品都需要对应一个具体工厂类。
适用场景:
- 需要创建多个相似对象的场景。
- 客户端不关心实例化过程和细节,只需获取抽象接口即可的场景。