展开全部

主编推荐语

本书立意明确,除了告诉你问题的类型与解法,还提供了可以立即演绎的程序代码。

内容简介

本书基于C# 2.0的语法,试图将GOF 23中的模式以一种可工程化的公共库而非Example的方式呈现给读者。内容包括以下7部分。

第1篇主要是概括性的介绍;第2篇创建型模式介绍通过将实例化职责委 托他方对象的办法,隔离客户程序与具体类型实例化的依赖关系,保证客户 程序(或者外部系统)获得期望具体类型实例的、同时不必发生直接的引用 ;第3篇结构型模式的重点在于如何通过灵活的体系组织不同的对象,并在 此基础上完成最为复杂的类型(或者类型系统),而参与组合的各类型之间 始终保持尽量松散的结构关系;第4篇行为型模式关注于应用运行过程中算 法的提供和通信关系的梳理;第5篇主要介绍小颗粒度基础模式和应用案例 ;第6篇主要介绍应用全局的模式化的实现方法,包括现在已经被普遍应用 的N层模式及某些关键性框架产品采用的“微内核”模式;第7篇主要是一些 针对Web和Web Service领域的模式设计技术。

目录

  • 版权信息
  • 作者访谈录
  • 推荐序1
  • 推荐序2
  • 序言
  • 导读
  • 本书的应用背景
  • 谁应该读本书
  • 阅读本书需要的基础知识
  • Example就够了么
  • 设计原则
  • 约定
  • 本书如何组织
  • 致谢
  • 第1篇 预备知识——发掘用C#语言进行面向对象化设计的潜力
  • 第1章 重新研读C#语言
  • 1.1 说明
  • 1.2 C#部分语法内容扩展
  • 1.2.1 命名空间(Namespace)
  • 1.2.2 简洁的异步通知机制——委托(Delegate)
  • 1.2.3 考验你的算法抽象能力——泛型(Generics)
  • 1.2.4 用作标签的方式扩展对象特性——属性(Attribute)
  • 1.2.5 用索引器简化的C#类型信息访问
  • 1.2.6 融入C#语言的迭代机制——迭代器(Iterator)
  • 1.3 可重载运算符(Overloadable Operators)与转换运算符(Conversion Operators)
  • 1.3.1 The Day After Someday
  • 1.3.2 用于有限的状态迭代
  • 1.3.3 操作集合
  • 1.3.4 类型的适配
  • 1.3.5 小结
  • 1.4 面向插件架构和现场部署的配置系统设计
  • 1.4.1 认识.NET Framework提供的主要配置实体类
  • 1.4.2 应用实例
  • 1.4.3 小结
  • 1.5 实现依赖注入
  • 1.5.1 背景介绍
  • 1.5.2 示例情景
  • 1.5.3 Constructor注入
  • 1.5.4 Setter注入
  • 1.5.5 接口注入
  • 1.5.6 基于Attribute实现注入——Attributer
  • 1.5.7 小结
  • 第2章 开始每个设计模式之前
  • 2.1 new()的替代品
  • 2.2 准备一个轻量的内存Cache
  • 2.3 准备一个集中访问配置文件的Broker
  • 2.4 Web?Not Web?
  • 2.5 小结
  • 第2篇 创建型模式——管理并隔离对象实例的构造过程
  • 第3章 工厂&工厂方法模式
  • 3.1 简单工厂
  • 3.1.1 最简单的工厂类
  • 3.1.2 根据规格加工产品——参数化工厂
  • 3.1.3 简单工厂的局限性
  • 3.2 经典回顾
  • 3.3 解耦Concrete Factory与客户程序
  • 3.4 基于配置文件的Factory
  • 3.5 批量工厂
  • 3.5.1 开发情景
  • 3.5.2 定义产品类型容器
  • 3.5.3 定义批量工厂和产品类型容器
  • 3.5.4 增设生产指导顾问——Director
  • 3.5.5 由Director指导的客户程序
  • 3.6 基于类型参数的Generic Factory
  • 3.7 委托工厂类型
  • 3.8 小结
  • 第4章 单件模式
  • 4.1 经典回顾
  • 4.2 线程安全的Singleton
  • 4.3 细节决定成败
  • 4.4 细颗粒度Singleton
  • 4.4.1 背景讨论
  • 4.4.2 解决桌面应用中细颗粒度Singleton问题
  • 4.4.3 解决Web应用中细颗粒度Singleton问题
  • 4.4.4 更通用的细颗粒度Singleton
  • 4.5 自动更新的Singleton
  • 4.6 参数化的Singleton
  • 4.7 跨进程的Singleton
  • 4.8 Singleton的扩展——Singleton-N
  • 4.8.1 定义具有执行状态的抽象对象
  • 4.8.2 定义相应的Singleton-N实例集合
  • 4.8.3 在基本Singleton模式实现的框架下引入实例集合
  • 4.9 引入配置文件管理Singleton
  • 4.10 基于类型参数的Generic Singleton
  • 4.11 由工厂类型协助Singleton实例管理
  • 4.12 小结
  • 第5章 抽象工厂模式
  • 5.1 经典回顾
  • 5.2 按计划实施生产
  • 5.2.1 为抽象工厂补充类型映射器
  • 5.2.2 处理模式的硬伤
  • 5.3 定义计划与生产间的映射关系
  • 5.3.1 分析
  • 5.3.2 登记映射关系
  • 5.3.3 用TypeMapper协助工厂生产
  • 5.3.4 定义实体TypeMapper和实体工厂
  • 5.3.5 实现装配机制
  • 5.4 配置生产计划
  • 5.5 基于Delegate的生产外包
  • 5.6 小结
  • 第6章 创建者模式
  • 6.1 经典回顾
  • 6.2 异步调用的BuildUp()
  • 6.3 为Builder打个标签
  • 6.3.1 完成工具类
  • 6.4 具有装配/卸裁能力的Builder
  • 6.5 看着图纸加工——登记配置文件
  • 6.5.1 把UML的对象变成XSD
  • 6.5.2 把握梗概——删除不经常变化的内容
  • 6.5.3 映射为配置节点或配置元素
  • 6.5.4 实现实体对象
  • 6.5.5 完成流水线生产
  • 6.6 用迭代器控制流水线
  • 6.7 小结
  • 第7章 原型模式
  • 7.1 经典回顾
  • 7.2 表面模仿还是深入模仿
  • 7.2.1 概念
  • 7.2.2 制作实现克隆的工具类型
  • 7.2.3 克隆也要稍微保留点个性
  • 7.2.4 定制并管理的克隆过程
  • 7.3 重新定义原型方法
  • 7.4 同时支持XML和二进制序列化的泛型集合类型处理
  • 7.5 小结
  • 第3篇 结构型模式——针对变化组织灵活的对象体系
  • 第8章 适配器模式
  • 8.1 说明
  • 8.2 经典回顾
  • 8.3 进一步扩展适配范围的组适配器
  • 8.4 Adapter——Adapter互联模式
  • 8.4.1 分析
  • 8.4.2 方式1:客户程序直接调度Adapter
  • 8.4.3 方式2:基于标准约定调度Adapter
  • 8.4.4 方式3:借助反射和约定完成异步调用
  • 8.5 用配置约定适配过程
  • 8.6 XML数据的专用适配机制
  • 8.7 小结
  • 第9章 桥模式
  • 9.1 说明
  • 9.2 经典回顾
  • 9.3 将复杂性进一步分解后的多级桥关系
  • 9.4 看着“图纸”造桥
  • 9.5 具有约束关系的桥
  • 9.6 小结
  • 第10章 组合模式
  • 10.1 说明
  • 10.2 经典回顾
  • 10.3 用迭代器遍历组合类型
  • 10.4 适于XML信息的组合模式
  • 10.5 小结
  • 第11章 装饰模式
  • 11.1 说明
  • 11.2 经典回顾
  • 11.3 具有自我更新特征的装饰模式
  • 11.3.1 分析
  • 11.3.2 抽象装饰接口
  • 11.3.3 抽象状态接口
  • 11.3.4 依据当前状态修改装饰
  • 11.3.5 测试验证
  • 11.4 设计Decorator与Builder协作的产物
  • 11.5 把Decorator做成标签
  • 11.5.1 更“彻底”的Attribute注入
  • 11.5.2 方式1:采用.NET平台自带的AOP机制实现
  • 11.5.3 方式2:自定义代理拦截框架方式
  • 11.5.4 进一步分析
  • 11.6 小结
  • 第12章 外观模式
  • 12.1 说明
  • 12.2 经典回顾
  • 12.3 Facade接口
  • 12.4 Remote Facade
  • 12.5 面向性能考虑的升级版Remote Facade——Data Transfer Object模式
  • 12.6 平台、开发语言无关的抽象Facade接口——WSDL
  • 12.7 让使用者更加方便的Fluent Interface设计
  • 12.8 小结
  • 第13章 享元模式
  • 13.1 说明
  • 13.2 经典回顾
  • 13.3 制订共享计划
  • 13.4 综合性的共享体系——Object Pool
  • 13.4.1 应用背景
  • 13.4.2 总体技术结构
  • 13.4.3 抽象类型实体设计
  • 13.4.4 享元模式的典型应用——缓冲
  • 13.4.5 示例
  • 13.5 用于并行处理的线程级享元
  • 13.6 通过Delegate和队列实现异步Flyweight
  • 13.7 小结
  • 第14章 代理模式
  • 14.1 说明
  • 14.2 经典回顾
  • 14.3 远程访问代理
  • 14.3.1 第1步:定义远程访问的服务协议
  • 14.3.2 第2步:定义服务端的配置文件及相应的宿主程序
  • 14.3.3 第3步:生成客户端远程代理(Proxy)类型
  • 14.3.4 第4步:编写客户端程序
  • 14.4 数据访问代理
  • 14.5 对象缓存代理
  • 14.6 为代理过程增加预处理和后续处理的支持
  • 14.6.1 第1步:定义外部处理机制的抽象结构
  • 14.6.2 第2步:定义新增处理的配置信息
  • 14.6.3 第3步:定义配置解析对象
  • 14.6.4 第4步:修正服务端和代理类的处理过程
  • 14.7 小结
  • 第4篇 行为型模式——算法、控制流和通信关系的对象化处理
  • 第15章 职责链模式
  • 15.1 说明
  • 15.2 经典回顾
  • 15.3 用断点控制链式过程
  • 15.4 链式反应
  • 15.5 增加配置约束
  • 15.6 小结
  • 第16章 模板方法模式
  • 16.1 说明
  • 16.2 经典回顾
  • 16.3 满足多套模板要求
  • 16.4 方法的模板——Delegate
  • 16.5 类型的模板——Generic
  • 16.6 用配置勾勒的模板
  • 16.7 小结
  • 第17章 解释器模式
  • 17.1 说明
  • 17.2 经典回顾
  • 17.3 采用正则表达式
  • 17.4 采用字典
  • 17.5 采用XSD
  • 17.6 用XSD解释定制的业务语言
  • 17.7 小结
  • 第18章 命令模式
  • 18.1 说明
  • 18.2 经典回顾
  • 18.3 轻量级的Command——委托
  • 18.4 异步Command
  • 18.5 把Command打包
  • 18.5.1 外观模式方式
  • 18.5.2 组合模式方式
  • 18.6 把Command排队
  • 18.7 小结
  • 第19章 迭代器模式
  • 19.1 说明
  • 19.2 经典回顾
  • 19.3 C#化的Iterator
  • 19.4 小结
  • 第20章 中介者模式
  • 20.1 说明
  • 20.2 经典回顾
  • 20.3 基于Delegate和事件的松耦合Mediator
  • 20.4 根据配置动态协调通知关系
  • 20.5 SOAP Mediator
  • 20.6 小结
  • 第21章 备忘录模式
  • 21.1 说明
  • 21.2 经典回顾
  • 21.3 把备忘压栈
  • 21.4 Memento的序列化和持久化
  • 21.5 小结
  • 第22章 观察者模式
  • 22.1 说明
  • 22.2 经典回顾
  • 22.3.NET内置的Obschmerver机制——事件
  • 22.4 具有Obschmerver的集合类型
  • 22.5 面向服务接口的Obschmerver
  • 22.6 小结
  • 第23章 状态模式
  • 23.1 说明
  • 23.2 经典回顾
  • 23.3 State的序列化和持久化
  • 23.4 主动方式State
  • 23.5 触发式State
  • 23.6 涉及用户交互的状态流转
  • 23.7 用WF完成更易于编排的State
  • 23.8 小结
  • 第24章 策略模式
  • 24.1 说明
  • 24.2 经典回顾
  • 24.3 Strategy与Interpreter协作
  • 24.4 充分利用.NET Framework自带的Strategy接口
  • 24.5 动态策略
  • 24.6 小结
  • 第25章 访问者模式
  • 25.1 说明
  • 25.2 经典回顾
  • 25.3 借助反射实现Visitor
  • 25.4 用委托使引用关系更加松散
  • 25.5 小结
  • 第5篇 小颗粒度基础模式和应用案例——服务于细节的基础性模式
  • 第26章 成例
  • 26.1 说明
  • 26.2 Partial Class
  • 26.2.1 体现组合关系
  • 26.2.2 从多个侧面刻画类型
  • 26.2.3 与Visual Studio Add-ins的结合
  • 26.2.4 小结
  • 26.3 Gateway
  • 26.3.1 封装本地API的Gateway
  • 26.3.2 封装非C#语言访问接口
  • 26.3.3 封装通用操作方法
  • 26.3.4 小结
  • 26.4 Mapper
  • 26.4.1 介绍
  • 26.4.2 数据对象映射器
  • 26.4.3 小结
  • 26.5 Registry
  • 26.6 Value Object
  • 26.7 通用数据载体DataSet和DataTable
  • 26.8 Context
  • 第27章 GOF总结及应用案例
  • 27.1 GOF总结
  • 27.1.1 回顾GOF
  • 27.2 应用案例需求说明
  • 27.3 发现和分析
  • 27.4 模式应用
  • 27.4.1 已经采用的模式
  • 27.4.2 如何实现与具体数据源无关
  • 27.4.3 提供执行前后定制处理的能力
  • 27.4.4 设计一个结构更加灵活的连接串配置访问机制
  • 27.5 小结
  • 第6篇 部分架构模式——面向应用全局的模式化处理
  • 第28章 MVC模式
  • 28.1 说明
  • 28.2 模式介绍
  • 28.3 示例
  • 28.3.1 混合方式
  • 28.3.2 分解对象职责
  • 28.3.3 主动方式M/V/C
  • 28.4 小结
  • 第29章 管道—过滤器模式
  • 29.1 说明
  • 29.2 登机的管道流程
  • 29.2.1 数据源发起的推方式
  • 29.2.2 数据接收方发起的拉方式
  • 29.2.3 中介对象发起的推拉混合方式
  • 29.2.4 数据源/数据接收方分别发起的衔接方式
  • 29.3 示例
  • 29.3.1 推方式示例
  • 29.3.2 增加主动方式的Filter
  • 29.4 小结
  • 第30章 出版—预订模式
  • 30.1 说明
  • 30.2 生活中无处不在的“预订”
  • 30.2.1 面向单一主题的本地观察者模式
  • 30.2.2 增加Proxy实现面向单一主题的分布式观察者模式
  • 30.2.3 用出版者集中管理预订
  • 30.2.4 面向物理环境设计更多出版预订模式
  • 30.3 示例
  • 30.3.1 数据实体模型部分
  • 30.3.2 业务实体模型部分
  • 30.3.3 具体实体对象部分
  • 30.3.4 单元测试
  • 30.4 小结
  • 第31章 Broker模式
  • 31.1 说明
  • 31.2 越来越庞杂的分布式系统交互之感
  • 31.3 示例
  • 31.4 小结
  • 第32章 消息总线模式
  • 32.1 说明
  • 32.2 用总线梳理企业系统环境
  • 32.2.1 分隔区域条件下的消息总线
  • 32.3 小结
  • 第7篇 部分Web和Web Service模式——面向服务开发中的模式化处理
  • 第33章 页面控制器模式
  • 33.1 说明
  • 33.2 用对象化思维抽象和扩展页面操作逻辑
  • 33.3 示例
  • 33.4 小结
  • 第34章 实现Web服务依赖倒置
  • 34.1 Web Service的模式化特征
  • 34.2 第一层的包装
  • 34.2.1 Aggregation
  • 34.2.2 Contain
  • 34.3 SOA环境下典型的Web Service开发方式
  • 34.4 依赖倒置原则及其在Web Service中的应用
  • 34.4.1 分析
  • 34.4.2 实现示例
  • 34.5 基于WCF的工程化实现
  • 34.5.1 实现示例
  • 34.5.2 借助WCF扩展服务的对象化特征
  • 34.6 小结
  • 第35章 Web服务适配器模式
  • 35.1 说明
  • 35.2 Web Service下的接口适配问题
  • 35.2.1 常规情景分析
  • 35.2.2 Web Service间连续交互适配
  • 35.2.3 实施方式
  • 35.3 采用标准Web Service类型的示例
  • 35.3.1 单纯数据XSD适配
  • 35.3.2 服务方法兼容性适配
  • 35.3.3 其他说明
  • 35.4 采用WCF的示例
  • 35.4.1 用Data Contract定义数据Schema
  • 35.4.2 定义不同的类型转换方式示例
  • 35.5 小结
  • 第36章 Web服务数据传输对象模式
  • 36.1 说明
  • 36.2 Web Service接口批量交互中的性能问题
  • 36.2.1 DTO对象
  • 36.2.2 DTO与消费者服务的对应关系
  • 36.2.3 部署设计考虑
  • 36.2.4 结构
  • 36.3 示例
  • 36.3.1 没有DTO对象的情况
  • 36.3.2 增加DTO对象的情况
  • 36.4 小结
  • 36.5 附件
  • 36.5.1 实现DTO数据装载的两种方式
  • 第37章 Web服务事件监控器模式
  • 37.1 说明
  • 37.2 如何为普通Web Service封装事件机制
  • 37.3 示例
  • 37.4 小结
  • 第38章 Web服务拦截过滤器模式
  • 38.1 说明
  • 38.2 通过拦截完成自定义特性的透明扩展
  • 38.2.1 实现方式
  • 38.2.2.NET平台的实现技术
  • 38.3 示例
  • 38.3.1 基于ASP.NET Web Service的IHttpModule方式
  • 38.3.2 基于WCF自定义拦截方式
  • 38.4 小结
  • 附录A 面向关系数据和XML数据的领域逻辑模式
  • 附录B 基于XML的应用建模
  • 索引
展开全部

评分及书评

评分不足
1个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。