• 关于工厂模式


    先讲一下简单工厂模式、工厂方法模式、抽象工厂模式的东西:

    简单工厂模式(Simple Factory Pattern):工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关类,也就是说产品的创建逻辑集中于一个工厂类,客户端只需要传递不同的参数给工厂,这时情况是:一个工厂创建一个产品,所有的具体工厂继承自一个抽象工厂;对于客户端来说,不存在与具体产品的依赖;

    工厂方法模式(Factory Method Pattern):提前定义用于创建对象的接口,让子类决定实例化具体的某一个类,即在工厂和产品中间增加接口,工厂不再负责产品的创建,由接口针对不同条件返回具体的类实例,由具体类实例去实现;

    抽象工厂模式(Abstract Factory Pattern):提供一个创建一系统或相互依赖对象的接口,不需要指定具体类。抽象工厂正如其名字所说,它抽象的是工厂接口,因此它面向的是多个平等等级结构,其建立对象的原则是以功能相似的对象为单位划分需要建立的对象。

    简单工厂并不属于23种基本设计模式中,它是抽象工厂模式的一个特例;抽象工厂与工厂方法区别在于它们抽象的对象不同:工厂方法针对产品进行抽象,而抽象工厂抽象针对工厂。因此可以认为工厂方法是抽象工厂的一种极端情况,工厂方法模式用来创建一个产品的等级结构,它一般只有一个方法,创建一种产品;而抽象工厂是用来创建多个产品的等级结构,一般有多个方法,创建一系列产品。

  • 相关阅读:
    Leetcode 1184. 公交站间的距离
    Leetcode 1232. 缀点成线
    Leetcode1539. 第 k 个缺失的正整数
    Leetcode 1299. 将每个元素替换为右侧最大元素
    Leetcode 1508. 子数组和排序后的区间和
    Leetcode 1509. 三次操作后最大值与最小值的最小差
    Leetcode 1207. 独一无二的出现次数
    Leetcode 1507. 转变日期格式
    Leetcode 1217. 玩筹码
    SQL Server自动产生一年多少周及月
  • 原文地址:https://www.cnblogs.com/minideas/p/1769795.html
Copyright © 2020-2023  润新知