定义
提供一种创建实例的功能,使不用观注具体实现。被创建实例的类型可以是接口、抽象类、也可以是具体的类。
示例
优缺点
优点
1.帮助封装,简单工厂虽然简单但友好的实现了封装,使组件外部能真正的面像接口编程
2.解耦,实现了客户端和具体的实现类解耦
缺点
1.可能增加客户端的复杂度
2.不便于扩展子工厂(通常情况下也不需要扩展子工厂)
何时选用简单工厂
1.想要完全封装隔离实现
2.想要把对外创建对象的职责管理一管理和控制
提供一种创建实例的功能,使不用观注具体实现。被创建实例的类型可以是接口、抽象类、也可以是具体的类。
1.帮助封装,简单工厂虽然简单但友好的实现了封装,使组件外部能真正的面像接口编程
2.解耦,实现了客户端和具体的实现类解耦
1.可能增加客户端的复杂度
2.不便于扩展子工厂(通常情况下也不需要扩展子工厂)
1.想要完全封装隔离实现
2.想要把对外创建对象的职责管理一管理和控制