zoukankan      html  css  js  c++  java
  • 设计模式第四集——工厂模式(Factory)

    工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法放类把实例化推迟到子类

    抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

    二者的区别:

    工厂方法是用继承,把对象的创建委托给子类,子类实现工厂方法来创建对象。

    抽象工厂使用对象组合,对象的创建被实现在工厂接口所暴露出来的方法中。

    例如肯德基的生产,在中国和美国根据不同的要求汉堡制作会有一些变化。应对这个需求,采用工厂方法模式:

    在采用工厂方法来设计的的肯德基中,在工厂KFC中并没有具体制作汉堡的过程,需要制作什么样的产品由继承的子类来实现。

    采用抽象工厂来实现:

    KFC实现为一个抽象工厂,这里提供了所有制作方法和原料,即由一个抽象接口创建了一个产品家族。

    具体子类ChineseKFC和AmericanKFC创建一个家族的产品。

    对于具体Bread、Chicken、Sauce的类型由一组平行抽象工厂的工厂方法产生

     

  • 相关阅读:
    树莓派镜像拷贝
    zookeeper客户端Watcher管理
    设置ZooKeeper服务器地址列表源码解析及扩展
    利用zookeeper实现发布订阅模式
    maven依赖错误排查经验
    理解CMS GC日志
    深入分析ThreadLocal
    Fail-Fast分析
    Stream学习过程中遇到的一个问题记录
    ClassLoader 学习笔记
  • 原文地址:https://www.cnblogs.com/doublesong/p/2620407.html
Copyright © 2011-2022 走看看