设计模式:基于C#的工程化实现及扩展
¥
10
1.0折
¥
98
八五品
仅1件
作者王翔 著
出版社电子工业出版社
出版时间2009-01
版次1
装帧平装
货号23
上书时间2024-07-21
商品详情
- 品相描述:八五品
图书标准信息
-
作者
王翔 著
-
出版社
电子工业出版社
-
出版时间
2009-01
-
版次
1
-
ISBN
9787121075070
-
定价
98.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
652页
-
正文语种
简体中文
- 【内容简介】
-
本书基于C#2.0的语法,试图将GOF23中的模式以一种可工程化的公共库而非Example的方式呈现给读者。内容包括以下7部分。
第1篇主要是概括性的介绍;第2篇创建型模式介绍通过将实例化职责委托他方对象的办法,隔离客户程序与具体类型实例化的依赖关系,保证客户程序(或者外部系统)获得期望具体类型实例的、同时不必发生直接的引用;第3篇结构型模式的重点在于如何通过灵活的体系组织不同的对象,并在此基础上完成更为复杂的类型(或者类型系统),而参与组合的各类型之间始终保持尽量松散的结构关系;第4篇行为型模式关注于应用运行过程中算法的提供和通信关系的梳理;第5篇主要介绍小颗粒度基础模式和应用案例;第6篇主要介绍应用全局的模式化的实现方法,包括现在已经被普遍应用的N层模式及某些关键性框架产品采用的“微内核”模式;第7篇主要是一些针对Web和WebService领域的模式设计技术。
本书主要针对对C#语言和.NETFramework平台有一定了解或有一定应用经验的用户,尤其适于那些希望运用模式技术在设计和开发方面多应对些挑战的用户。
- 【作者简介】
-
王翔,软件架构师,主要从事.NET、XML、公钥基础设施的开发。专注于数据(尤其是XML信息)的生产、加工、交换、提炼等过程。最近参与了一系列有关应用密码技术和PKI环境保护信息系统数据安全的项目。
最喜欢数学,平常案头总是摆一本数学练习题。闲暇时间喜欢写作,通过发表多种技术文章与国内外同行交流各种数据应用经验。
项目间隙经常到各海滨城市徒步旅行、野外露营、出海航行、极限运动,这几年烹饪也渐渐成为个人主要爱好。
- 【目录】
-
导读
第1篇预备知识——发掘用C#语言进行面向对象化设计的潜力
第1章重新研读C#语言
1.1说明
1.2C#部分语法内容扩展
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可重载运算符(OverloadableOperators)与转换运算符(ConversionOperators)
1.3.1TheDayAfterSomeday
1.3.2用于有限的状态迭代
1.3.3操作集合
1.3.4类型的适配
1.3.5小结
1.4面向插件架构和现场部署的配置系统设计
1.4.1认识.NETFramework提供的主要配置实体类
1.4.2应用实例
1.4.3小结
1.5实现依赖注入
1.5.1背景介绍
1.5.2示例情景
1.5.3Constructor注入
1.5.4Setter注入
1.5.5接口注入
1.5.6基于Attribute实现注入——Attributer53
1.5.7小结
第2章开始每个设计模式之前
2.1new()的替代品
2.2准备一个轻量的内存Cache
2.3准备一个集中访问配置文件的Broker64
2.4Web?NotWeb?
2.5小结
第2篇创建型模式——管理并隔离对象实例的构造过程
第3章工厂&工厂方法模式
3.1简单工厂
3.1.1最简单的工厂类
3.1.2根据规格加工产品——参数化工厂
3.1.3简单工厂的局限性
3.2经典回顾
3.3解耦ConcreteFactory与客户程序
3.4基于配置文件的Factory
3.5批量工厂
3.5.1开发情景
3.5.2定义产品类型容器
3.5.3定义批量工厂和产品类型容器
3.5.4增设生产指导顾问——Director89
3.5.5由Director指导的客户程序
3.6基于类型参数的GenericFactory
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.8Singleton的扩展——Singleton-N.
4.8.1定义具有执行状态的抽象对象
4.8.2定义相应的Singleton-N实例集合
4.8.3在基本Singleton模式实现的框架下引入实例集合
4.9引入配置文件管理Singleton
4.10基于类型参数的GenericSingleton
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()143
6.3为Builder打个标签
6.3.1完成工具类
6.4具有装配/卸裁能力的Builder150
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.4Adapter——Adapter互联模式
8.4.1分析
8.4.2方式1:客户程序直接调度Adapter192
8.4.3方式2:基于标准约定调度Adapter192
8.4.4方式3:借助反射和约定完成异步调用
8.5用配置约定适配过程
8.6XML数据的专用适配机制
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.3Facade接口
12.4RemoteFacade
12.5面向性能考虑的升级版RemoteFacade——DataTransferObject模式
12.6平台、开发语言无关的抽象Facade接口——WSDL
12.7让使用者更加方便的FluentInterface设计
12.8小结
第13章享元模式
13.1说明
13.2经典回顾
13.3制订共享计划
13.4综合性的共享体系——ObjectPool264
13.4.1应用背景
13.4.2总体技术结构
13.4.3抽象类型实体设计
13.4.4享元模式的典型应用——缓冲
13.4.5示例
13.5用于并行处理的线程级享元
13.6通过Delegate和队列实现异步Flyweight270
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.3C#化的Iterator353
19.4小结
第20章中介者模式
20.1说明
20.2经典回顾
20.3基于Delegate和事件的松耦合Mediator362
20.4根据配置动态协调通知关系
20.5SOAPMediator366
20.6小结
第21章备忘录模式
21.1说明
21.2经典回顾
21.3把备忘压栈
21.4Memento的序列化和持久化
21.5小结
第22章观察者模式
22.1说明
22.2经典回顾
22.3.NET内置的Observer机制——事件
22.4具有Observer的集合类型
22.5面向服务接口的Observer394
22.6小结
第23章状态模式
23.1说明
23.2经典回顾
23.3State的序列化和持久化
23.4主动方式State
23.5触发式State
23.6涉及用户交互的状态流转
23.7用WF完成更易于编排的State
23.8小结
第24章策略模式
24.1说明
24.2经典回顾
24.3Strategy与Interpreter协作
24.4充分利用.NETFramework自带的Strategy接口
24.5动态策略
24.6小结
第25章访问者模式
25.1说明
25.2经典回顾
25.3借助反射实现Visitor428
25.4用委托使引用关系更加松散
25.5小结
第5篇小颗粒度基础模式和应用案例——服务于细节的基础性模式
第26章成例
26.1说明
26.2PartialClass
26.2.1体现组合关系
26.2.2从多个侧面刻画类型
26.2.3与VisualStudioAdd-ins的结合
26.2.4小结
26.3Gateway
26.3.1封装本地API的Gateway
26.3.2封装非C#语言访问接口
26.3.3封装通用操作方法
26.3.4小结
26.4Mapper443
26.4.1介绍
26.4.2数据对象映射器
26.4.3小结
26.5Registry
26.6ValueObject455
26.7通用数据载体DataSet和DataTable
26.8Context458
第27章GOF总结及应用案例
27.1GOF总结
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增加主动方式的Filter508
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和WebService模式——面向服务开发中的模式化处理
第33章页面控制器模式
33.1说明
33.2用对象化思维抽象和扩展页面操作逻辑
33.3示例
33.4小结
第34章实现Web服务依赖倒置
34.1WebService的模式化特征
34.2第一层的包装
34.2.1Aggregation
34.2.2Contain
34.3SOA环境下典型的WebService开发方式
34.4依赖倒置原则及其在WebService中的应用
34.4.1分析
34.4.2实现示例
34.5基于WCF的工程化实现
34.5.1实现示例
34.5.2借助WCF扩展服务的对象化特征
34.6小结
第35章Web服务适配器模式
35.1说明
35.2WebService下的接口适配问题
35.2.1常规情景分析
35.2.2WebService间连续交互适配
35.2.3实施方式
35.3采用标准WebService类型的示例
35.3.1单纯数据XSD适配
35.3.2服务方法兼容性适配
35.3.3其他说明
35.4采用WCF的示例
35.4.1用DataContract定义数据Schema
35.4.2定义不同的类型转换方式示例
35.5小结
第36章Web服务数据传输对象模式
36.1说明
36.2WebService接口批量交互中的性能问题
36.2.1DTO对象
36.2.2DTO与消费者服务的对应关系
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如何为普通WebService封装事件机制
37.3示例
37.4小结
第38章Web服务拦截过滤器模式
38.1说明
38.2通过拦截完成自定义特性的透明扩展
38.2.1实现方式
38.2.2.NET平台的实现技术
38.3示例1
38.3.1基于ASP.NETWebService的IHttpModule方式1
38.3.2基于WCF自定义拦截方式
38.4小结
附录A面向关系数据和XML数据的领域逻辑模式
A.1说明
A.2实现业务领域逻辑的主要方法
A.2.1整体逻辑结构
A.2.2性能改进
A.2.3面向关系数据库的业务服务设计
A.2.4面向XML数据的扩展设计
A.2.5配置机制设计
A.3示例
A.3.1示例情景
A.3.2测试内容准备
A.3.3实际测试过程
A.4小结
附录B基于XML的应用建模
B.1说明
B.2世界是平的,但更是多元的
B.2.1更具扩展性的数据模型——XML
B.2.2让非结构化数据可以被识别
B.2.3应对数据和内容的集成
B.2.4新的应用扩展
B.2.5应对语义网络的复杂性
B.3小结
索引
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价