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