简单工厂,工厂方法与抽象工厂区别体会

转载 2011年01月20日 22:46:00

转载:http://www.cnblogs.com/millen/archive/2009/02/13/1389974.html.

设计模式作为程序员的内功心法,相信每个写过OOP代码的都不会陌生,不过有些模式之间既有区别,又有联系,我们来看看简单工厂,工厂方法与抽象工厂的区别和联系。

一、简单工厂

      简单工厂模式中工厂为具体工厂,产品为抽象产品,由工厂实例创建产品实例。

 

二、工厂方法

      工厂方法中有抽象的工厂类,一种抽象的产品类,而工厂类中仅创建此抽象产品类的实例,具体产品实例由具体的工厂类创建。

 

三、抽象工厂

     抽象工厂创建多类产品,可将这些产品理解为一套相关的产品,由工厂在创建时一起创建,每类产品有不同的实例。实践中一般会用反射来创建工厂的实例,配合配 置文件或依赖注入容器来避免创建不同产品时还需要修改客户端代码,即符合“修改封闭,扩展开放原则”,一点拙见,欢迎指正。

以下转自terryLee的博客:

 

概述

在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法( new ),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。

意图

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

模型图

逻辑模型:

物理模型:

相关文章推荐

抽象工厂方法

  • 2013年05月02日 00:34
  • 152KB
  • 下载

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

from:http://www.cnblogs.com/zhangchenliang/p/3700820.html 结合简单示例和UML图,讲解工厂模式简单原理。   一、引子 话说十...

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别 结合简单示例和UML图,讲解工厂模式简单原理。   一、引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马...

设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。 本文是本人对这三种模式学习后的一个小结以...
  • xu_song
  • xu_song
  • 2013年08月11日 21:26
  • 463

设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。 本文是本人对这三种模式学习后的一个小结以及对...

Java 设计模式中,简单工厂、工厂方法、抽象工厂的区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。 简单工厂 简单工厂模式的工厂类一般是使用...

简单工厂,工厂方法和抽象工厂的区别总结

最近这三个模式有点搞混了,而且网上也有类似情况。总结一下。 简单工厂:严格说并不是一个设计模式。简单工厂没有抽象类,只有一个具体工厂类如MyFactory,然后MyFactory里面...

简单工厂、工厂方法、抽象工厂的区别

支持原创,原文出处:http://blog.csdn.net/superbeck/article/details/4446177 简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能...
  • hnulwt
  • hnulwt
  • 2015年01月19日 11:39
  • 383

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别 结合简单示例和UML图,讲解工厂模式简单原理。   一、引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰...
  • a_long_
  • a_long_
  • 2016年07月16日 21:19
  • 268

设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式。其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性。本文是本人对这三种模式学习后的一个小结以及对他们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单工厂,工厂方法与抽象工厂区别体会
举报原因:
原因补充:

(最多只允许输入30个字)