手机版

设计模式可复用面向对象软件的基础 第3章 创建(10)

发布时间:2021-06-05   来源:未知    
字号:

本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用

正如我们在实现一节所讨论, M a z e F a c t o r y仅需一个实例变量 p a r t C a t a l o g来提供一个字典,

这个字典的主键为迷宫组件的类。也回想一下

我们是如何实现 m a k e :方法的:

现在我们可以创建一个 M a z e F a c t o r y并用它来实现 C r e a t e M a z e。我们将用类 M a z e G a m e

的一个方法C r e a t e M a z e F a c t o r y来创

建该工厂。

通过将不同的类与它们的主键相关联,就可以

创建一个 B o m b e d M a z e F a c t o r y或E n

c h a n t e d M a z e F a c t o r y。例如,一个E n c h a n t e d M a z e F a c t o r y可以这样被创建:

11. 已知应用

I n t e r Vi e w使用“K i t”后缀

[ L i n 9 2 ]来表示A b s t r a c t F a

c t o r y类。它定义 Wi d g e t K i t

和D i a l o g K i t抽象工厂来生成与特定视感风格相关的用户界面对象。 I n t e r Vi e w还包括一个L a y o u t K i t,它根据所需要的布局生成不同的组成( c o m p o s i t i o n)对象。例如,一个概念上是水平的布局根据文档的定位(画像或是风景)可能需要不同的组成对象。

E T + + [ W G M 8 8 ]使用Abstract Factory模式以达到在不同窗口系统(例如, X Wi n d o w s和 S u n Vi e w)间的可移植性。 Wi n d o w S y s t e m抽象基类定义一些接口,来创建表示窗口系统资源的对象(例如 M a k e Wi n d o w、M a k e F o n t、M a k e C o l o r)。具体的子类为某个特定的窗口系统实现这些接口。运行时刻, E T + +创建一个具体 Wi n d o w S y s t e m子类的实例,以创建具体的系统资源对象。

12. 相关模式 A b s t r a c t F a c t o r y类通常用工厂方法( Factory Method(3 . 3))实现,但它们也可以用

P r o t o t y p e实现。一个具体的工厂通常是一个单件( S i n g l e t o n(3 . 5))。

3.2 BUILDER(生成器)—对象创建型模式

1. 意图

2. 动机

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

设计模式可复用面向对象软件的基础 第3章 创建(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
下一篇:特种加工论文
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)