面试回顾之三: 工厂模式

1,简单工厂

定义: 专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类

优点:简单工厂模式的优点是客户端可以直接消费产品,而不必关心具体产品的实现,消除了客户端直接创建产品对象的责任,实现了对责任的分割。

缺点:是工厂类记录了所有产品的创建逻辑,一旦不能正常工作,整个系统都会受到影响,而且当产品类多结构复杂的时候,把所有创建工作放进一个工厂中来,回事后期程序的扩展较为困难。

2,工厂方法

定义: 在基类中定义创建对象的一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟到子类中进行

exp: 基类定义了创建和方法的接口, 子类去具体的实现

应用场景:

1. 编译时无法准备预期要生成的创建的对象的类

2. 类需要由子类决定运行时生成什么。

3,抽象工厂

定义: 抽象工厂提供一个固定的接口,用于创建一系列由关联或者相依存的对象,而不必指定其具体类或其创建的细节

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容