新書推薦:
《
我的心理医生是只猫
》
售價:NT$
225.0
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:NT$
449.0
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:NT$
280.0
《
爱丁堡古罗马史-罗马城的起源和共和国的崛起
》
售價:NT$
349.0
《
人生解忧:佛学入门四十讲
》
售價:NT$
490.0
《
浪潮将至
》
售價:NT$
395.0
《
在虚无时代:与马克斯·韦伯共同思考
》
售價:NT$
260.0
《
日内交易与波段交易的资金风险管理
》
售價:NT$
390.0
|
編輯推薦: |
《模式:工程化实现及扩展设计模式C#版》第一部分除了介绍面向对象设计原则外,还充实了一些C#语言的介绍,但这些内容并不是枯燥的讲解,读者可以在阅读中通过一系列动手练习尽快吸收这些理论并将它们内化为自己的技能。《模式:工程化实现及扩展设计模式C#版》最后一部分的“GOF综合练习”把各种设计模式做了一次集中展示,目的是让读者把分散的模式知识融合在一起,能够将书本知识真正用于改善一个“准”生产型模块的实现
|
內容簡介: |
设计模式不是一门适合空谈的技术,它来自于开发人员的工程实践又服务于工程实践。
《模式:工程化实现及扩展(设计模式C#版)》并不是一本面向入门者的读物,因为它需要结合工程实践介绍如何发现模式灵感、如何应用模式技术。不过作为一本介绍设计模式的书,它并不需要读者对于庞大的.NET
Framework有深入了解,因为扩展主要是结合C#语法完成的,配合书中的实例,相信读者不仅能够熟练应用设计模式技术,也能令自己的C#语言上一个台阶。
为了降低学习门槛,本书第一部分除了介绍面向对象设计原则外,还充实了一些C#语言的介绍,但这些内容并不是枯燥的讲解,读者可以在阅读中通过一系列动手练习尽快吸收这些理论并将它们内化为自己的技能。本书最后一部分的“GOF综合练习”把各种设计模式做了一次集中展示,目的是让读者把分散的模式知识融合在一起,能够将书本知识真正用于改善一个“准”生产型模块的实现。
|
關於作者: |
王翔,软件架构师,主要从事.NET、XML、公钥基础设施的开发。专注于数据(尤其是XML信息)的生产、加工、交换、提炼等过程。最近参与了一系列有关应用密码技术和PKI环境保护信息系统数据安全的项目。最喜欢数学,平常案头总是摆一本数学练习题。闲暇时间喜欢写作,通过发表多种技术文章与国内外同行交流各种数据应用经验。项目间隙经常到各海滨城市徒步旅行、野外露营、出海航行、极限运动,这几年烹饪也渐渐成为个人主要爱好
|
目錄:
|
第一篇 预备知识——发掘C#语言的面向对象设计潜力
第1章 面向对象设计原则
1.1 说明
1.2 单一职责原则(SRP)
1.3 里氏替换原则(LSP)和依赖倒置原则(DIP)
1.4 接口隔离原则(ISP)
1.5 迪米特法则(LoD:Law of Demeter、LKP)
1.6 开闭原则(OCP)
1.7 小结
1.8 自我检验
第2章 重新研读C#语言
2.1 说明
2.2 C# 部分语法内容扩展
2.3 面向插件架构的配置系统设计
2.4 依赖注入
2.5 连贯接口(Fluent Interface)
第3章 Java和C#
3.1 说明
3.2 枚举(Enum)
3.3 泛型(Generics)
3.4 属性和标注(Attribute and Annotation)
3.5 操作符重载和类型转换重载
3.6 委托、事件、匿名方法
3.7 Lamada和LINQ
3.8 小结
第二篇 创建型模式——管理对象实例的构造过程
第4章 工厂&工厂方法模式
4.1 说明
4.2 简单工厂
4.3 经典回顾
4.4 解耦工厂类型与客户程序
4.5 基于配置文件的工厂
4.6 典型工程化实现
4.7 小结
4.8 自我检验
第5章 单件模式
5.1 说明
5.2 经典回顾
5.3 线程安全的单件模式
5.4 细节决定成败
5.5 细颗粒度的单件模式
5.6 分布式环境下的单件模式
5.7 单件模式的使用问题
5.8 小结
第6章 抽象工厂模式
6.1 说明
6.2 经典回顾
6.3 解决经典模式的硬伤
6.4 基于委托的生产外包
6.5 小结
第7章 创建者模式
7.1 说明
7.2 经典回顾
7.3 为Builder打个标签
7.4 具有装配卸载能力的Builder
7.5 连贯接口形式的Builder
7.6 小结
7.7 自我检验
第8章 原型模式
8.1 说明
8.2 经典回顾
8.3 表面模仿还是深入模仿
8.4 小结
8.5 自我检验
第三篇 结构型模式——组织灵活的对象体系
第9章 适配器模式
9.1 说明
9.2 经典回顾
9.3 类型转换符实现适配
9.4 组适配器
9.5 用配置约定适配过程
9.6 面向数据的适配机制
9.7 小结
9.8 自我检验
第10章 桥模式
10.1 说明
10.2 经典回顾
10.3 分解复杂性的多级桥关系
10.4 看着“图纸”造桥
10.5 具有约束关系的桥
10.6 小结
10.7 自我检验
第11章 组合模式
11.1 说明
11.2 经典回顾
11.3 用迭代器遍历组合类型
11.4 适于XML信息的组合模式
11.5 分布式“部分—整体”环境
11.6 小结
11.7 自我检验
第12章 装饰模式
12.1 说明
12.2 经典回顾
12.3 卸载装饰
12.4 通过配置和创建者完成装饰过程
12.5 把装饰类型做成标签
12.6 小结
第13章 外观模式
13.1 说明
13.2 经典回顾
13.3 平台、开发语言无关的抽象Facade接口——WSDL
13.4 小结
第14章 享元模式
14.1 说明
14.2 经典回顾
14.3 制订共享计划
14.4 通过委托和队列实现异步享元
14.5 小结
第15章 代理模式
15.1 说明
15.2 经典回顾
15.3 远程代理
15.4 小结
第四篇 行为型模式——算法、控制流的对象化操作
第16章 职责链模式
16.1 说明
16.2 经典回顾
16.3 非链表方式定义职责链
16.4 小结
第17章 模板方法模式
17.1 说明
17.2 经典回顾
17.3 方法的模板——委托
17.4 类和接口的模板——泛型
17.5 系统架构的模板——配置
17.6 小结
17.7 自我检验
第18章 解释器模式
18.1 说明
18.2 经典回顾
18.3 采用正则表达式
18.4 采用字典 5
18.5 多级解释器系统
18.6 用XSD解释自定义业务语言
18.7 小结
18.8 自我检验
第19章 命令模式
19.1 说明
19.2 经典回顾
19.3 打包命令对象
19.4 异步命令操作
19.5 命令操作队列
19.6 小结
19.7 自我检验
第20章 迭代器模式
20.1 说明
20.2 经典回顾
20.3 .NET内置的迭代器
20.4 小结
20.5 自我检验
第21章 中介者模式
21.1 说明
21.2 经典回顾
21.3 基于委托和事件的松耦合中介者
21.4 根据配置动态协调通知关系
21.5 小结
21.6 自我检验
第22章 备忘录模式
22.1 说明
22.2 经典回顾
22.3 把备忘压栈
22.4 备忘录的序列化和持久化
22.4 小结
22.5 自我检验
第23章 观察者模式
23.1 说明
23.2 经典回顾
23.3 .NET内置的观察者机制——事件
23.4 具有观察者机制的集合类型
23.5 面向服务接口的观察者
23.6 小结
23.7 自我检验
第24章 状态模式
24.1 说明
24.2 经典回顾
24.3 状态的序列化和持久化
24.4 主动状态对象
24.5 用WF完成更易于编排的状态模式
24.6 小结
24.7 自我检验
第25章 策略模式
25.1 说明
25.2 经典回顾
25.3 策略模式与解释器模式的协作
25.4 .NET自带的策略接口
25.5 小结
第26章 访问者模式
26.1 说明
26.2 经典回顾
26.3 借助反射或Dynamic实现访问者
26.4 用委托实现工程化的访问者
26.5 小结
26.6 自我检验
第五篇 GOF综合练习
第27章 GOF部分阶段实践
27.1 回顾GOF
27.2 需求的提出
27.3 第一轮技术分析
27.4 第二轮技术分析
27.5 第三轮技术分析
27.6 示例实现
27.7 验证逻辑的有效性
27.8 小结
27.9 后记
附录 Java和C#关键字对照表
|
內容試閱:
|
第一篇 预备知识―发掘C#语言的面向对象设计潜力
第1章 面向对象设计原则
1.1 说明
1.2 单一职责原则(SRP)
1.3 里氏替换原则(LSP)和依赖倒置原则(DIP)
1.4 接口隔离原则(ISP)
1.5 迪米特法则(Lo D :Law of Demeter、LKP)
1.6 开闭原则(OCP)
1.7 小结
1.8 自我检验
1.1 说明
在介绍模式内容之前,我们先谈一些有关面向对象的话题。
《模式—工程化实现及扩展》系列的各个分册,无论是设计模式还是架构模式,前面其实都应该加上“面向对象的”,即我们谈论的是面向对象的设计模式和面向对象的架构模式。
同其他软件领域一样,面向对象技术同样有一些传承下来的设计原则,它们是众多面向对象先驱们不断提炼总结出来的,这些原则甚至可以被称为是“规律性”的,因为随着项目规模的扩大,我们会不断体会到这些原则的重要性。对于开发人员来说,这些原则的重要性是在一遍遍“撞南墙”的过程中体会到的,是不断“费力”、“重写”之后慢慢体会到的。
这些原则同样体现在各类设计模式、架构模式之中,在学习过程中我们会通过类图、时序图、示例代码等形式不断体会这些原则解决“依赖”和“变化”的效果。当然,这些“原则”也在变化,不断有新的“原则”加入,也有在“大浪淘沙”中淘汰掉的,真正沉淀下来的通用“原则”其实并不多。总体来说,面向对象的典型原则可以划分为两类—“面向类”的和“面向包”的。
|
|