1,简单工厂
定义: 专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类
优点:简单工厂模式的优点是客户端可以直接消费产品,而不必关心具体产品的实现,消除了客户端直接创建产品对象的责任,实现了对责任的分割。
缺点:是工厂类记录了所有产品的创建逻辑,一旦不能正常工作,整个系统都会受到影响,而且当产品类多结构复杂的时候,把所有创建工作放进一个工厂中来,回事后期程序的扩展较为困难。
2,工厂方法
定义: 在基类中定义创建对象的一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟到子类中进行
exp: 基类定义了创建和方法的接口, 子类去具体的实现
应用场景:
1. 编译时无法准备预期要生成的创建的对象的类
2. 类需要由子类决定运行时生成什么。
3,抽象工厂
定义: 抽象工厂提供一个固定的接口,用于创建一系列由关联或者相依存的对象,而不必指定其具体类或其创建的细节
网友评论