下载此文档

创建型模式(简单工厂,工厂方法,抽象工厂).doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
创建型模式(Creational Pattern)是对类的实例化过程进行了抽象,能够使的软件模块做到与对象的创建和组织无关。为了使体系结构更加清晰,外界对于这些对象只知道他们的共同接口,而不需要清楚具体的实现细节。从而体现面向对象编程中的精髓---- 面向接口编程。
Simple Factory Pattern (简单工厂)
专门定义一个类来负责创建其他的类的实例。 被创建的实例通常都是具体的共同父类。 简单工厂模式有称为静态工厂方法模式,属于类的创建型模式。通常它根据自变量的不同返回不同的类的实例。
简单工厂模式实质使由一个工厂类根据传入的参量,动态决定要创建出哪个产品的实例。
简单工厂本不属于23个GOF模式 但它可以作为GOF的工厂方法模式的一个引导。
现实中的例子----- 国旗生产厂
国旗有个共性,都是四方布做的,四方布就是他们的基础类,中国国旗,美国国旗,韩国国旗 等等 都是从四方布中-派生出来的。 国旗生产厂就是一个简单工厂。 根据客户的需求,生产不
同的国旗。
四方布(基类)
中国
国旗
日 本
国 旗
韩国国旗
国旗生产厂家
根据客户的需求
案例: 在线支付类型(银行卡,信用卡),手机销售(诺基亚,摩托罗拉)
优势与缺陷
在简单工厂模式中,工厂类是整个模式的关键所在。根据外界给定的信息,决定要创建具体的对象。摆脱了传统的外界直接创建具体产品的局面(自给自足实现),直接由工厂来决定。优点能够使客户端独立于产品的创建过程,并且在系统中引入新产品时,无需对客户端进行修改,缺点,当新产品进来时必须修改工厂类。但是对于简单工厂的确定也正是体现到在工厂类上。 由于所有的实例都在这里创建,从而使的工厂类变的巨大,违反了高内聚的责任分配原则。
应用场景:
工厂类负责创建的对象比较少。
客户只知道传入工厂类的参数,对于如何创建对象不用关心。
Factory Method Pattern 工厂方法模式
工厂方法模式又称为工厂模式,也叫虚拟构造器模式或者多态工厂模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成的具体对象。 这样做的目的是将类的实例化过程操作延迟到子类中完成。即由子类来决定究竟应该实例化哪个类。其实在工厂模式就已经应用了单例模式,从始不到终它就只有一个工厂,单例模式不需要新建实例(在后面补充单例模式中说明)
现实例子—兵工厂
兵工厂
战斗机器
兵工厂
战斗机器
案例:扩展手机例子。
优势与缺陷:
工厂方法模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了那种具体产品类将实例化的细节。工厂方法模式的核心是一个抽象工厂类,各种具体的工厂类通过抽象工厂将工厂方法继承下来。如此使得客户可以只关心抽象产品和抽象工厂,完全不用理会返回是哪一种具体的产品。而不用关心具体的如何创建。 使用工厂方法模式的另一个优点是在系统中加入新产品的时候,无许修改抽象工厂和抽象产品提供的接口,无
需修改客户端,也无需修改其他具体的工厂和具体的产品,而只需要添加一个具体的工厂和具体的产品就可以了。扩展性好点。 工厂方法模式在面向对象设计中使用了封装和委托来构造典型应用。封装通过抽象工厂实现,委托通过抽象工厂将创建的对象责任完全交给具体工厂来体现。
缺点: 在增加新产品的时候,需要编写具体的产品类,同时还需要提供与之对应的具体工厂类。
应用场景:
类不知道自己要创建哪一个对象。
类用它的子类来指定创建哪个对象。
客户需要清楚创建哪一个对象。
Abstract Factory Pattern 抽象工厂模式
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类,抽象工厂模式又称Kit 模式 属于对象创建型模式。
抽象工厂与工厂方法模式的区别在于: 工厂方法模式针对 是一个产品等级结构,而抽象工厂模式是针对多个产品等级结构。 抽象工厂设计到 产品簇概念。
生活中的例子---- 兵工厂的扩展
兵工厂
士兵
战斗机
扩展后的兵工厂
兵工厂
战斗机器
士兵
案例: 北大青鸟体系, 军人服务社。
优势和缺陷:
抽象工厂模式的主要优点是隔离了具体类的生成,使得客户不需要知道什么被创建了。 由于这样隔离,更换一个具体工厂就变的相对容易。所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需要改变具体工厂的实例, 所有的具体工厂都实现了抽象工厂中定义的那些公共接口。 从而可以实现高内聚,低偶合。
应用情景:

创建型模式(简单工厂,工厂方法,抽象工厂) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1314042****
  • 文件大小207 KB
  • 时间2021-02-14
最近更新