本书是第一部关于C#和.NET设计模式的权威指导著作,为基于C#语言和Microsoft ® .NET框架的开发人员学习设计模式和应用设计模式提供了一个完整全面的理论框架和大量的详细应用实例。本书内容覆盖了所有23个经典的“四人小组”设计模式,具体包括:适配器,外观,合成,桥接,单件,观察者,中介者,代理,职责链,享元,生成器,工厂方法,抽象工厂,原型,备忘录,模板方法,状态,策略,命令,解释器,装饰,迭代器,以及访问者等模式。本书提供了大量的C#代码,解释说明了在.NET框架下如何应用上述设计模式。读者在阅读本书之后,将会对关于C#语言和Microsoft ® .NET框架的设计模式的整体概念、基本原理、内部实现有一个清晰的认识,并可以将设计模式应用于基于C#语言和.NET框架的面向对象软件开发实践当中。本书还提供了丰富的附录资源,有兴趣的读者可以通过利用这些资源进一步增强对设计模式的理解。
译者序\r\n前 言\r\n第1章 引言 1 \r\n 1.1 为什么使用模式? 1 \r\n 1.2 为什么使用设计模式? 2 \r\n 1.3 为什么使用C#语言? 2 \r\n 1.4 UML 3 \r\n 1.5 本书给出的问题 3 \r\n 1.6 本书的组织方式 4 \r\n 1.7 欢迎来到Oozinoz公司! 5 \r\n 1.8 小结 5 \r\n第1部分 接口型模式\r\n 第2章 接口型模式介绍 9 \r\n 2.1 接口与抽象类 9 \r\n 2.2 接口与委托 10\r\n 2.3 接口与属性 13\r\n 2.4 接口的细节 14\r\n 2.5 小结 14\r\n 2.6 普通接口无法提供的内容 15\r\n 第3章 适配器模式 16\r\n 3.1 对接口进行适配 16\r\n 3.2 类适配器与对象适配器 19\r\n 3.3 对.NET的数据进行适配 22\r\n 3.4 小结 25\r\n 第4章 外观模式 27\r\n 4.1 一个普通的外观 27\r\n 4.2 应用外观模式进行代码重构 29\r\n 4.3 外观、公用例程以及演示 36\r\n 4.4 小结 38\r\n 第5章 合成模式 39\r\n 5.1 一个普通的合成 39\r\n 5.2 合成的递归行为 39\r\n 5.3 合成、树形结构,以及环形结构 41\r\n 5.4 带环形结构的合成 45\r\n 5.5 环形结构产生的影响 48\r\n 5.6 小结 48\r\n 第6章 桥接模式 49\r\n 6.1 一个普通的抽象 49\r\n 6.2 从抽象到桥接 51\r\n 6.3 作为桥接的驱动器 53\r\n 6.4 数据库驱动器 53\r\n 6.5 小结 53\r\n第2部分 职责型模式\r\n 第7章 职责型模式介绍 57\r\n 7.1 普通的职责 57\r\n 7.2 利用可访问性进行职责控制 58\r\n 7.3 小结 61\r\n 7.4 普通职责无法提供的内容 61\r\n 第8章 单件模式 62\r\n 8.1 单件模式的机制 62\r\n 8.2 单件与线程 63\r\n 8.3 识别单件模式 64\r\n 8.4 小结 65\r\n 第9章 观察者模式 66\r\n 9.1 C#语言对观察者的支持 66\r\n 9.2 委托机制 66\r\n 9.3 一个经典的例子——GUI中的观察者模式 69\r\n 9.4 模型/视图/控制器 75\r\n 9.5 分层 77\r\n 9.6 小结 80\r\n 第10章 中介者模式 81\r\n 10.1 一个经典实例——GUI中介者 81\r\n 10.2 关系完整性中介者 84\r\n 10.3 小结 90\r\n 第11章 代理模式 91\r\n 11.1 一个简单的代理 91\r\n 11.2 数据代理 94\r\n 11.3 远程代理 99\r\n 11.4 小结 103\r\n 第12章 职责链模式 104\r\n 12.1 一个普通的职责链模式 104\r\n 12.2 重构为职责链模式 105\r\n 12.3 将一个链进行固定 108\r\n 12.4 不带合成结构的职责链模式 109\r\n 12.5 小结 109\r\n 第13章 享元模式 \r\n 13.1 不可改变性 \r\n 13.2 提取一个享元中的不可改变部分 \r\n 13.3 共享享元 \r\n 13.4 小结 \r\n第3部分 构造型模式\r\n 第14章 构造型模式介绍 \r\n 第15章 生成器模式 \r\n 第16章 工厂方法模式 \r\n 第17章 抽象工厂模式 \r\n 第18章 原型模式 \r\n 第19章 备忘录模式 \r\n第4部分 操作型模式\r\n 第20章 操作型模式介绍 \r\n 第21章 模板方法模式 \r\n 第22章 状态模式 \r\n 第23章 策略模式 \r\n 第24章 命令模式 \r\n 第25章 解释器模式 \r\n第5部分 扩展型模式\r\n 第26章 扩展型模式介绍 \r\n 第27章 装饰模式 \r\n 第28章 迭代器模式 \r\n 第29章 访问者模式 \r\n附录A 使用指导 \r\n附录B 答案 \r\n附录C OOZINOZ系统的源代码 \r\n附录D UML概览\r\n术语表 \r\n参考文献
STEVEN JOHN METSKER在设计模式、面向对象程序设计及软件设计方法学等领域有广泛的著述。Steven是Cap Tech风险投资公司的一位软件业务咨询人员,经常在OOPSLA会议上发言。他的著作发表在《JAVA Report》、《JOOP》、《Distributed Object Computing》、《Object Magazine》等杂志上。Steven在Addison-Wesley公司出版的著作包括:《Design Patterns Java Workbook》和《Building Parsers in Java》。