美文网首页
创建型设计模式-简单工厂模式

创建型设计模式-简单工厂模式

作者: NullPointers | 来源:发表于2017-08-31 20:09 被阅读0次

    定义:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法模式。

    要点:

    1、当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无需知道其创建细节。

    角色:

    1、Factory(工厂角色):工厂类,简单工厂的核心,负责实现创建所有产品实例的内部逻辑;工厂类可以被外界直接调用,创建所需的产品对象;提供静态方法,以生成指定类

    2、Product(抽象产品角色):创建所有对象的父类,封装了各种产品对象的公有方法。

    3、ConcreteProduct(具体产品角色):工厂模式的创建目标,所有被创建的对象都充当这个角色的某个具体类的实例。

    UML关系类图:

    总结:

    1、客户端可以免除直接创建产品对象的职责,而仅仅消费产品,简单工厂模式实现了对象创建和实验的分离。

    2、客户端无需知道创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可。

    3、通过引入配置文件,可以在不修改任何客户端代码的情况下更换和新增新的具体产品类。

    4、扩展困难,一旦新加新产品就不得不修改工厂逻辑,在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展和维护。

    适用场景:

    1、工厂类复杂创建的对象比较少,不会造成工厂方法中的业务逻辑太过复杂。

    2、客户端只知道传入工厂类的参数,对于如何创建对象并不关心。

    相关文章

      网友评论

          本文标题:创建型设计模式-简单工厂模式

          本文链接:https://www.haomeiwen.com/subject/igbxjxtx.html