• 总结下 简单工厂-》工厂-》抽象工厂


    A 简单工厂:         

             1、一个具体工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。内部逻辑判断,创建产品。

             2、一个抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。

             3、多个具体产品角色:具体工厂类所创建的对象就是此角色的实例。

    B 工厂模式:         

             1、一个抽象工厂角色:这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。

             2、多个具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。在java中它由具体的类来实现。每个具体工厂类只能创建一个具体产品类的实例。         

             3、一个抽象产品角色:它是具体产品继承的父类或者是实现的接口。在java中一般有抽象类或者接口来实现。

             4、多个具体产品角色:具体工厂角色所创建的对象就是此角色的实例。在java中由具体的类来实现。

    产品族:位于不同产品等级结构中,功能相关联的产品组成的家族。 抽象工厂模式还要满足一下条件:

    1.系统中有多个产品族,而系统一次只可能消费其中一族产品。

    2.同属于同一个产品族的产品以其使用。

    C 抽象工厂模式:         

             1、一个抽象工厂角色:这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。

             2、多个具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。在java中它由具体的类来实现。每个具体工厂类只能创建多个具体产品类的实例。         

             3、多个抽象产品角色:它是具体产品继承的父类或者是实现的接口。在java中一般有抽象类或者接口来实现。

             4、多个具体产品角色:具体工厂角色所创建的对象就是此角色的实例。在java中由具体的类来实现。每个抽象产品类可以派生出多个具体产品类。

    总结:

    工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。

    抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。

    区别:    

    1、工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。    

    2、工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式的具体工厂类可以创建多个具体产品类的实例。  

       注:工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构(一个产品族)。

  • 相关阅读:
    Appium环境搭建及“fn must be a function”问题解决
    jmeter XML格式的结果中各属性的含义
    初识java,编写hello world语句
    【J-meter】参数及相应数据中文显示乱码问题
    【APP测试】APP弱网环境测试
    【Fiddler】改写返回数据功能
    【WebGoat习题解析】Parameter Tampering->Bypass HTML Field Restrictions
    【WebGoat习题解析】AJAX Security->Insecure Client Storage
    【burp】配置HTTPS抓包方法
    【APP自动化测试】Monkey的测试原理和方法
  • 原文地址:https://www.cnblogs.com/uicodeintoworld/p/8950556.html
Copyright © 2020-2023  润新知