zoukankan      html  css  js  c++  java
  • Java 工厂模式(一)— 工厂方法(Factory Method)模式

    一、工厂方法(Factory Method)模式:

      1、什么是工厂方法模式?

          工厂方法模式是类的创建型模式,又叫做虚拟构造子模式或者多态工厂模式。它的意义是创建产品对象的工厂接口,将实际创建工作推迟到子类中

      2、工厂方法模式和简单工厂模式的不同:

        (1)、工厂模式方法中,核心的工厂类是一个抽象工厂类,它不再负责所有产品的创建,而将具体的创建工作交给了子类(简单工厂中核心是一个具体工厂类,它要知道所有具体产品)。

        (2)、简单工厂中的核心“工厂类”变成了一个抽象工厂的角色,仅给出具体工厂子类必须要实现的接口,而不需要接触产品类实例化的细节(简单工厂类知道所有具体产品的实例化细节)。

        (3)、实现了多态,所有的具体工厂类有一个公共的抽象工厂父接口,因此被叫做多态工厂模式。

        (4)、对于新增的产品,只需要增加具体产品的工厂类即可。如果具体知道一个系统只需要一个具体工厂类,就可以将工厂方法改成静态方法,就变成了简单工厂模式,所以简单工厂模式是工厂方法模式退化后的方法。

    二、工厂方法模式的结构:

        Creator(抽象工厂角色 ):工厂方法模式的核心,任何创建对象的工厂都必须实现这个接口。

        ConcreteCreator(具体工厂角色):实现了抽象工厂,用具具体产品的创建。

        Product(抽象产品角色):工厂方法模式所创建对象的超类型即子类产品的公共父类。  

        ConcreteProduct(具体产品角色):有具体工厂所创建的每一个子类。

  • 相关阅读:
    mysql 索引失效的几种情况
    MYSQL行转列-动态修改
    有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列
    C++ 的关键字(保留字)完整介绍
    element-ui组件el-upload自定义上传时界面抖动
    React Hooks 组件卸载时触发的方法
    JS中的事件冒泡和事件捕获
    关于tranform: translate 后,元素被覆盖的问题
    Spring Boot使用@Scheduled时需要注意的坑
    redis的Lua脚本事务注意
  • 原文地址:https://www.cnblogs.com/zhoudaxing/p/10403777.html
Copyright © 2011-2022 走看看