目录
一 简单工厂模式
简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于 GOF,23 种设计模式。
使用场景:简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创
建对象的逻辑不需要关心。
问题:工厂类的职责过重,不易于扩展过于复杂的产品结构。
二 工厂方法模式
工厂方法模式(Fatory Method Pattern)是指定义一个创建对象的接口,让实现的这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。
使用场景:
1,创建对象需要大量重复对象。
2,应用层不依赖于产品类实例如何被创建,实现等细节。
3,一个类通过其子类来指定创建哪个对象。
缺点:
1,类的个数过多,增加复杂度。
2,增加了系统的抽象性和理解性。
三 抽象方法模式
抽象工厂模式(Abastract Factory Pattern)提供一系列相关或相互依赖的对象的接口,无需制定他们具体的类。
使用场景:
一系列相关产品对象,一起使用创建对象需要大量重复代码
缺点:
1,规定了所有可能被创建的产品集合,产品族中扩展新的产品困难,需要修改抽象工厂的接口。
2,增加了系统的抽象性和理解性。