• 抽象工厂_笔记


    抽象工厂:

    定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。

    类型:创建类模式

    类图:

    调用类Client

          工厂接口IFactory 产品接口IProduct

    +createProduct() +productMethod()

    工厂实现 Factory 产品实现Product

    抽象工厂模式与工厂方法模式的区别

    抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式

    的区别在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对多个产品等级结构。在编程中,

    通常一个产品结构,表现为一个接口或者抽象类,也就是说,工厂方法模式提供的所有都是衍生自同一个接口或

    抽象类,而抽象工厂模式所提供的产品则是衍生自不同的接口或抽象类。

    在抽象工厂模式中,有一个产品族的概念:所谓产品族,是指位于不同产品等级结构中功能相关的产品组成的家族。

    抽象工厂模式所提供的一系列产品就组成一个产品族;而工厂方法提供的一系列产品成为一个等级结构。

    明白了等级结构和产品族的概念,就理解工厂方法模式和抽象工厂模式的区别了,如果工厂的产品不属于同一个

    等级结构,则属于工厂方法模式;如果工厂的产品来自多个等级结构,则属于抽象工厂模式。

    总结:

    简单工厂:

    1.抽象产品

    2.具体产品

    3.简单工厂

    工厂模式:

    1.抽象产品

    2.具体产品

    3.抽象工厂

    4.具体工厂

    抽象工厂模式:(1.系统中有多个产品族,而系统一次只可能消费其中一族产品2.同属于同一个产品族的产品以其使用。)有一个产品族的概念:所谓的产品族,是指位于不同产品等级结构中功能相关联的产品组成的家族

    1.抽象产品

    2.具体产品

    3.抽象工厂

    4.具体工厂

    参考:http://blog.csdn.net/zhengzhb/article/details/7359385

    http://www.cnblogs.com/zhangchenliang/p/3700820.html

    工厂模式和策略模式区别:

    工厂模式和策略模式的区别在于实例化一个对象的位置不同,对工厂模式而言,实例化对象是放在服务端的,即放在了工厂类里面;

    而策略模式实例化对象的操作在客户端,服务端的“销售部门”只负责传递该对象,并在服务端的环境里执行特定的操作。。。

    工厂模式要求服务端的销售部门足够灵敏,而策略模式由于对策略进行了封装,所以他的销售部门比较傻,需要客户提供足够能区分使用哪种策略的参数,而这最好的就是该策略的实例了。

     注:笔记部分可能参考其他作者内容的一个记录,仅为加深自己对概念的理解,这里一些可能忘记参考谁的了,所以望见谅。

  • 相关阅读:
    团队项目-典型用户及用户场景分析
    课堂小练习-找“水王”
    课堂小练习—电梯
    团队项目—用户需求调研报告
    课堂小练习
    团队项目的NABC
    梦断代码—随笔三
    梦断代码—随笔二
    结对开发5_循环二维数组最大字数组
    结对开发4_循环数组的最大值
  • 原文地址:https://www.cnblogs.com/cangdingju/p/5520169.html
Copyright © 2020-2023  润新知