设计模式可复用面向对象软件基础.

所需积分/C币:10 2017-09-29 14:14:31 10.27MB PDF
14
收藏 收藏
举报

设计模式可复用面向对象软件基础. 设计模式可复用面向对象软件基础.
6.CO M 下载 本书并不是一本介绍面向对象技术或设计的书,目前已有不少好书介绍面向对象技术或设 计。本书假设你至少已经比较熟悉一和面向对象编程语言,并且有一定的面向对象设计经验。 当我们提及“类型”和“多态”,或“接口”继承与“实现”继承的关系时,你应该对这些概 念了然于胸,而不必迫不及待地翻阅手头的字典。 另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对 象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展 的问题的求解方法,因此它们并不是人们从一开始就采用的设计方案。它们反映了不为人知的 重新设计和重新编码的成果,而这些都来自软件开发者为了设计出灵活可复用的软件而长时间 进行的艰苦努力。设计模式捕获了这些解决方案,并用简洁易用的方式表达出来 设计模式并不要求使用独特的语言特性,也不采用那些足以使你的朋友或老板大吃一惊的 神奇的编程技巧。所有的模式均可以用标准的面向对象语言实现,这也许有时会比特殊的解法 多费一些功夫,但是为了增加软件的灵活性和可复用性,多做些工作是值得的。 旦你理解了设计模式并且有了一种“Aha!”(而不是“Huh?”)的应用经验和体验后, 你将用种非同寻常的方式思考面向对象设计。你将拥有一种深刻的洞察力,以帮助你设计出更 加灵活的、模块化的、可复用的和易理解的软件一这也是你为何着迷于面向对象技术的源动力, 不是吗? 当然还有一些提示和鼓励:第一次阅读此书时你可能不会完全理解它,但不必着急,我们在 起初编写这本书时也没有完全理解它们!请记住,这不是一本读完一遍就可以束之高阁的书。我 们希望你在软件设计过程中反复参阅此书,以获取设计灵感。 我们并不认为这组设计模式是完整的和一成不变的,它只是我们目前对设计的思考的记录。 因此我们欢迎广大读者的批评与指正,无论从书中采用的实例、参考,还是我们遗漏的已知应用 或应该包含的设计模式等方面。你可以通过 Addison- Wesley写信给我们,或发送电子邮件到: design-patternst@cs.uiuc.edu。你还可以发送邮件“ send design pattern source”到 design- patterns- Source@cs. ulus.edu获取书中的示例代码部分的源代码 另外我们有一个专门的网页报道最新的消息与更新: http://st-www.cs.uiucedu/users/patterns/dpbook/dpbook.html E.G.于加州 Mountain view;R.H.于蒙特利尔 R.J.于伊利诺 Urbana;J.V.于纽约 Hawthorne 1994年8月 读者指南 本书设计实例从面向对象的设计中精选出23个设计模式,总结了面 向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本 书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实 用环境下有特别有用。 目录 序言 前言 读者指南 第1章引言 1.1什么是设计模式2 1.2 Smalltalk mvc中的设计模式3 描述设计模式4 1.4设计模式的编目5 1.5组织编目7 1.6设计模式怎样解决设计问题8 1.6.1寻找合适的对象8 1.6.2决定对象的粒度9 1.6.3指定对象接口9 1.6.4描述对象的实现10 6.5运用复用机制 1.6.6关联运行时刻和编译时刻的结构15 1.6.7设计应支持变化16 1.7怎样选择设计模式 1.8怎样使用设计模式20 第2章实例研究:设计一个文档编辑器22 2.1设计问题23 2.2文档结构23 2.2.1递归组合24 2.2.2图元25 2.2.3组合模式 7 3格式化27 2.3.1封装格式化算法27 2.3.2 Compositor /H Composition 27 3.3策略模式 2.4修饰用户界面29 2.4.1透明围栏 9 2.4.2 Monoglyph 30 2.4.3 Decorator模式32 2.5支持多种视感标准32 2.5.1对象创建的抽象32 2.5.2工厂类和产品类33 2.5.3 Abstract Factory模式35 2.6支持多种窗口系统35 2.6.1我们是否可以使用 Abstract Factory模式35 2.6.2封装实现依赖关系35 2.6.3 Window NH Window Imp 37 2.6.4 Bridge模式40 7用户操作40 2.7.1封装一个请求41 2.7.2 Command类及其子类41 2.7.3撤消和重做42 7.4命令历史记录 2.7.5 Command模式44 2.8拼写检查和断字处理44 2.8.1访问分散的信息44 8.2封装访问和遍历45 2.8.3 Iterator类及其子类46 2.8.4 Iterator模式48 2.8.5遍历和遍历过程中的动作48 2.8.6封装分析48 2.8.7 Visitor类及其子类51 8.8 Visitor模式52 2.9小结53 第3章创建型模式54 3.1 Abstract Factory(抽象工厂)一对象创建型模式57 3.2 Builder(生成器)一对象创建型模式63 3.3 Factory Method(工厂方法)一对象创建型模式70 3.4 Prototype(原型)一对象创建型模式87 3.5 Singleton(单件)一对象创建型模式84 3.6创建型模式的讨论89 第4章结构型模式91 4.1 Adapter(适配器)一类对象结构型模式92 4.2 Bridge(桥接)一对象结构型模式100 4.3 Composite(组成)一对象结构型模式107 4.4 Decorator(装饰)一对象结构型模式115 4.5 FACADE(外观)—对象结构型模式121 4.6 Flyweight(享元)一对象结构型模式128 4.7 Proxy(代理)一对象结构型模式137 4.8结构型模式的讨论144 4.8.1 Adapter j Bridge 144 4.8.2 Composite、 Decorator与 Proxy145 第5章行为模式147 5.1 CHAIN OF RESPONSIBIL ITY(职责链) 对象行为型模式147 5.2 COMMAND(命令)一对象行为型模式154 5.3 INTERPRETER(解释器)一类行为型模式162 5.4 ITERATOR(迭代器)一对象行为型模式171 5.5 MEDIATOR(中介者)一对象行为型模式181 5.6 MEMENTO0(备忘录)一对象行为型模式188 5.7 OBSERVER(观察者)一对象行为型模式194 5.8 STATE(状态)一对象行为型模式201 5.9 STRATEGY(策略)一对象行为型模式208 5.10 TEMPLATE METHOD(模板方法)一类行为型模式214 5.11Ⅵ ISITOR(访问者)一对象行为型模式218 5.12行为模式的讨论228 5.121封装变化228 5.12.2对象作为参数228 5.12.3通信应该被封装还是被分布229 5.12.4对发送者和接收者解耦229 5.12.5总结231 第6章结论232 6.1设计模式将带来什么232 套通用的设计词汇232 6.3书写文档和学习的辅助手段232 6.4现有方法的一种补充233 6.5重构的目标233 6.6本书简史234 6.7模式界235 6.8 Alexander的模式语言235 6.9软件中的模式236 6.10邀请参与237 6.11临别感想237 附录A词汇表238 附录B图示符号指南241 附录c基本类244 参考文献249 Chinapub.com

...展开详情
试读 127P 设计模式可复用面向对象软件基础.
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
设计模式可复用面向对象软件基础. 10积分/C币 立即下载
1/127
设计模式可复用面向对象软件基础.第1页
设计模式可复用面向对象软件基础.第2页
设计模式可复用面向对象软件基础.第3页
设计模式可复用面向对象软件基础.第4页
设计模式可复用面向对象软件基础.第5页
设计模式可复用面向对象软件基础.第6页
设计模式可复用面向对象软件基础.第7页
设计模式可复用面向对象软件基础.第8页
设计模式可复用面向对象软件基础.第9页
设计模式可复用面向对象软件基础.第10页
设计模式可复用面向对象软件基础.第11页
设计模式可复用面向对象软件基础.第12页
设计模式可复用面向对象软件基础.第13页
设计模式可复用面向对象软件基础.第14页
设计模式可复用面向对象软件基础.第15页
设计模式可复用面向对象软件基础.第16页
设计模式可复用面向对象软件基础.第17页
设计模式可复用面向对象软件基础.第18页
设计模式可复用面向对象软件基础.第19页
设计模式可复用面向对象软件基础.第20页

试读结束, 可继续阅读

10积分/C币 立即下载