24种设计模式优缺点及适用场景#工厂方法模式

创建型#工厂方法模式

概述:

  工厂方法是简单工厂模式的延伸,它继承了简单工厂模式的优点,同时还弥补了简答工厂模式的不足。工厂方法是最常用的设计模式之一,很多开源框架和API类库的核心模式。

优点:

  1、用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需知道具体产品类名;

  2、所有的具体工厂类都具有同一抽象父类,被称为多态工厂模式;

  3、符合开闭原则,新增产品只需要添加工厂类和具体产品,无需修改代码,扩展性好;

缺点:

  1、添加一个新的产品,系统中类的个数增加,导致增加了系统的复杂性,有更多的类需要编译和运行,会增加系统性能的开销;

  2、由于考虑到系统的可扩展性,需要引入抽象层,在客户端代码中均使用抽象层进行定义,增加了系统的抽象性和理解难度;

适用环境:

  1、客户端不知道他所需要的对象的类。

  2、抽象工厂类通过其子类来指定创建哪个对象。利用面向对象的多态性和里氏替换原则,在程序运行时子类覆盖父类对象,从而使得系统更容易扩展。

posted @ 2019-02-24 18:05  胡金水  阅读(1867)  评论(0编辑  收藏  举报