几种工厂模式的区别
来源:互联网 发布:python编程求圆的面积 编辑:程序博客网 时间:2024/05/18 09:33
本文主要根据网络资料整理,主要参考:设计模式导学目录
工厂模式主要包括简单工厂模式、工厂方法模式、抽象工厂模式。看完三种模式的介绍,也许你和我一样并不能完整的说出它们的区别,感觉好像有点类似又有点区别。查阅了网络上的一些解读(例如知乎问答抽象工厂模式和工厂模式的区别),个人觉得可能主要区别是:
简单工厂模式:定义一个工厂类,根据参数的不同返回不同类的实例,被创建的实例通常有共同的父类。从中可以看出,改模式的重要特点是有参数,并且根据参数来决定创建什么样的具体实例。(参考)
工厂方法模式:定义一个创建一个对象的工厂接口,然后让每一个子类工厂创建一个自己的实例类。(参考)鼠标工厂父类有生产鼠标这个接口,戴尔鼠标工厂生产戴尔鼠标,联想鼠标工厂生产联想鼠标。所以是一个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类。
抽象工厂模式:定义一个创建一系列相关或者相互依赖对象的工厂接口,然后每个子类工厂创建自己的一系列实例类。(参考)但是知乎链接里的解释更形象,比如有一个生产键盘和鼠标的工厂接口,然后戴尔工厂类生产戴尔牌键盘和鼠标,联想工厂类生产联想牌键盘和鼠标。所以是多个抽象产品类,每个抽象产品类派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类。
阅读全文
0 0
- 几种工厂模式的区别
- 几种工厂模式的现实意义
- 工厂模式的几种形态
- 工厂模式与其他几种模式的联系
- java的设计模式——几种工厂模式
- 几种工厂模式对比
- 抽象工厂模式、简单工厂模式、工厂模式的区别
- 简单工厂模式、工厂模式、抽象工厂模式的区别
- 三种工厂模式的区别
- C#工厂模式的几种实现方法及比较
- 抽象工厂模式的几种实现方法及比较
- 三个工厂模式的区别
- 三个工厂模式的区别
- 工厂模式间的区别
- java设计模式---三种工厂模式之间的区别
- 简单工厂,工厂方法,抽象工厂 三种设计模式的区别和实例
- Delphi几种调用模式的区别
- vmware几种联网模式的区别
- Maven项目打包测试时如何跳过测试类
- IDEA 下载 汉化 和通过码
- SVN之使用原则
- vue中的父子组件调用
- LeetCode 二叉树路径问题 Path SUM(①②③)总结
- 几种工厂模式的区别
- 度度熊的交易计划 最小费用流
- ping命令返回的TTL值判断操作系统
- 安卓开发设置EditView中只能输入数字
- Map之hashmap源码分析
- 剑指OFFER-二叉树中和为某一值的路径
- hdu 6081 度度熊的王国战略
- Junit 学习总结(一)
- 翻转单词顺序列