zoukankan      html  css  js  c++  java
  • 简单工厂、工厂方法、抽象工厂

    共同点

    实现了将对象的创建与使用解耦

    不同点

    简单工厂通过封装对象的创建,实现了对象的创建提取到简单工厂的创建方法,使其可以独立变化与复用。工厂方法、抽象工厂通过在高层组件(Creater)定义抽象依赖,根据依赖倒置原则,实现了客户端与具体产品的解耦。

    工厂方法:通过在Creater定义抽象的Product,Creater中的代码都根据抽象的Product编写,ConcreteCreater的工厂方法定义的返回值也是抽象的Product,高层组件(Creater)和低层组件(具体Product)都依赖抽象的Product,彼此之间没有相互依赖。

    抽象工厂: 客户端只依赖抽象工厂(AbstractFactory)和抽象的成员(AbstractMember),不依赖任何具体的工厂或者成员,具体的工厂类方法的返回值也是抽象的成员(AbstractMember),高层组件(客户端)与低层组件(具体Member类)都依赖抽象的成员(AbstractMember),彼此之间没有相互依赖。

    联系

    工厂方法模式的工厂方法一般使用简单工厂实现,抽象工厂每个CreateMember方法一般使用工厂模式实现。

    抽象工厂接口内的每个方法都负责创建一个具体产品,同时我们使用实现抽象工厂的子类来提供这些具体的做法,所以在抽象工厂中使用工厂方法实现生产方法是相当自然的。

  • 相关阅读:
    day04
    day02
    day01
    ORM + 单例
    ORM框架SQLAlchemy
    存储引擎 , 索引 ,慢日志查询 , explain查询优化, 权限管理
    事务,视图 ,函数,存储过程,触发器
    pymysql 操作 , sql注入
    外键,高级操作
    mysql 基本操作
  • 原文地址:https://www.cnblogs.com/Saints/p/12601495.html
Copyright © 2011-2022 走看看