下载此文档

03 第三章.ppt


文档分类: | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
面向对象设计模式
第三章 创建型模式(二)
本章知识点
抽象工厂(Abstract Factory)模式
建筑者(Builder)模式
1、抽象工厂(Abstract Factory)模式
抽象工厂(Abstract Factory)模式

简单工厂的问题
——不能应对“不同系列对象”的变化。比如,有不同风格的游戏场景,应对不同风格的道路、房屋……
如何解决
——使用面向对象技术来“封装”变化点。
1、抽象工厂(Abstract Factory)模式
抽象工厂(Abstract Factory)模式

动机
在软件系统中,经常面临着“一系列相互依赖对象”的创建工作;
同时,由于需求的变化,往往存在更多系列对象的创建工作。

如何应对这种变化,如何绕过常规的对象创建方法(new),提
供一种封装机制来避免客户程序和这种“多系列具体对象创建工作”
的紧耦合?
模式编程介绍
抽象工厂(Abstract Factory)模式

意图
提供一个接口,让接口负责创建一系列相关或者相互依赖的对
象,无须指定它们的具体类。
——《设计模式》GoF
1、抽象工厂(Abstract Factory)模式
抽象工厂(Abstract Factory)模式
抽象工厂(Abstract Factory)模式的UML结构图如下:
1、抽象工厂(Abstract Factory)模式
抽象工厂(Abstract Factory)模式

抽象工厂(Abstract Factory)模式的几个要点:
如果没有应对“多系列对象构建”的需求变化,则没有必要使用Abstract Factory模式,这时候使用简单的静态工厂即可。
Abstract Factory模式主要在于应对“新系列”的需求变动。其缺点在于难于应对“新对象”的需求变动。
2、建筑者(Builder)模式
建筑者(Builder)模式

Builder模式的缘起
假设创建游戏中的一个房屋House设施,该房屋的构建有几个部
分组成,而且各个部分都富于变化。
如果使用最直观的设计方法,每一个房屋部分的变化,都将导致
整个房屋构建的重新构建……
2、建筑者(Builder)模式
建筑者(Builder)模式
动机
在软件系统中,有时候面临着“一个复杂对象”的创建工作,其
通常由各个部分的子对象用一定的算法构成;由于需求的变化,这
个复杂的对象的各个部分经常面临着剧烈的变化,但是将它们组合
在一起的算法却是相对稳定的。

如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂
对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不
随着需求的改变而改变?

03 第三章 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小395 KB
  • 时间2018-03-17