《设计之道》目录
这是我计划要出版的一本书,内容主要基于我这几年在博客园发表的有关软件设计的文章。内容以讲解设计模式为主,同时也涵盖了敏捷开发、测试驱动开发、重构、单元测试等内容。写书并不容易,然而好在本书的形成实则是一个集腋成裘的过程,因而内中的辛苦可以抵消一半,剩下的一半则为成书的喜悦冲去,反而成了一次愉悦的体验。
本书还未到出版时,是否能够出版,我心中也无定论。这几日,就要给出版社的工作人员交付目录与样张了,因而把这篇目录写成之后,反而有了几分忐忑。究竟这些内容能否吸引书店的过客驻足阅读呢?蒙尘的书籍虽然并不代表不是经典,然而在IT这个行业内,没有人喝彩实则代表你已经失败了。所以,我在交付目录之前,先放到网上来给大家过目。虽然没有内容(其实很多内容已经在我的博客上发表过),但从这冰山一角,也能窥探出几分端倪。那么,我希望它能给我带来几声喝彩与责骂。如果是喝彩,我看作是鼓励与动力;如果是责骂,我不会狂妄的说诸位是吹毛求疵,或者是鸡蛋里挑骨头,我反而认为自己可能已经陷入错误的泥坑里,希望路人在一顿责骂之后,能够将我拉上来。
闲话休说,还看目录:
第一篇 设计之要
第1章 设计,看上去很美
1.1 计划的设计与演进的设计
1.2 过度设计,还是简单设计
1.3 需要设计模式吗?
1.4 重构是必然的!
1.5 UML重要吗?
1.6 TDD、单元测试及其他
第2章 架构与模式
2.1 追求无风格之设计
2.2 架构的本质
2.2.1 何谓架构
2.2.2 架构与框架
2.2.3 架构的关注点
2.2.4 架构分析
2.3 模式概览
2.3.1 模式之滥觞
2.3.2 设计模式与其它
第3章 封装变化
3.1 设计模式之鹄的
3.2 如何封装变化
3.2.1 封装用户请求的变化
3.2.2 封装对象创建的变化
3.2.3 封装算法实现的变化
3.3 依赖注入
第4章 体验重构
4.1 一个阶乘容器
4.2 代码的坏味道
4.3 需求发生变化
4.4 运用重构利器
4.5 引入设计模式
第5章 测试驱动开发实践
5.1 发现价值与生产价值
5.2 通过测试驱动开发进行重构
5.3 适时小结
5.4 收获价值
5.5 无上之力
第6章 设计,由你掌握
6.1 从需求开始
6.2 需求改变了
6.3 如果不熟悉设计模式
6.4 山穷水尽疑无路
6.5 柳暗花明又一村
6.6 尽善尽美的结局
第二篇 .Net Framework中的设计模式
第7章 Factory Method模式
7.1 模式概述
7.2 .Net Framework模式分析
7.3 进一步探索
第8章 Composite模式
8.1 模式概述
8.2 .Net Framework模式分析
8.3 进一步探索
第9章 Decorator模式
9.1 模式概述
9.2 .Net Framework模式分析
第十章 Iterator模式
10.1 模式概述
10.2 .Net Framework模式分析
第十一章 Strategy模式
11.1 模式概述
11.2 .Net Framework模式分析
第三篇 设计模式探索
第12章 面向对象设计与Factory模式
12.1 拙劣的设计意味着噩梦的产生
12.2 走向面向对象设计之路
12.3 引入Factory模式
12.4 自由不是梦想
第13章 探讨Adapter模式
13.1 设计走向死胡同
13.2 类的Adapter模式
13.3 对象的Adapter模式
第14章 从Adapter模式到Decorator模式
14.1 考察对象的Adapter模式
14.2 引入Decorator模式
14.3 正宗的Decorator模式
第十五章 Visitor模式探索
15.1 Visitor模式是否可行?
15.2 实现Visitor模式
15.3 改进后的Visitor模式
第十六章 再谈Adapter模式
16.1 新的应用场景
16.2 分析设计
16.3 引入Adapter模式
第四篇 设计模式实践
第17章 Abstract Factory模式应用实践
17.1 需求分析
17.2 糟糕的设计
17.3 引入Abstract Factory模式
第18章 Builder模式应用实践
18.1 需求分析
18.2 糟糕的设计
18.3 引入Builder模式
18.4 从容应对扩展
第19章 Command模式应用实践
19.1 需求分析
19.2 糟糕的设计
19.3 引入Command模式
19.4 进一步完善
第20章 Strategy模式应用实践
20.1 需求分析
20.2 糟糕的设计
20.3 引入Strategy模式
第21章 Chain Of Responsibility模式应用实践
21.1 需求分新
21.2 糟糕的设计
21.3 为何不是Command模式
21.4 引入Chain Of Responsibility模式
第22章 Observer模式应用实践
22.1 需求分析
22.2 引入Observer模式
22.3 利用事件与委托改进Observer模式
第23章 Proxy模式应用实践
23.1 需求分析
23.2 引入Proxy模式
23.3 完善设计
第24章 复合的设计模式应用实践
24.1 需求分析
24.2 糟糕的设计
24.3 面向对象的设计思想
24.4 引入Strategy模式
24.5 需求发生变化
24.6 引入Template Method模式
24.7 合理的设计就是最好的设计
24.8 引入Bridge模式
24.9 接口分离
24.10 引入Abstract Factory模式
第五篇 .Net系统架构设计
第25章 系统架构设计
25.1 分层式架构设计
25.2 分层式架构的优劣
25.3 PetShop系统架构的版本演化
25.4 PetShop 4.0的系统架构设计
第26章 数据访问层设计
26.1 数据库对象
26.2 SQL语句之恶瘤
26.3具有简单工厂特质的抽象工厂模式
第27章 消息处理
27.1 系统架构的性能
27.2 MSMQ的实现
27.2.1 消息处理模块的组成
27.2.2 消息接口
27.2.3 消息接口的实现
27.2.4 消息工厂
27.2.5 后台处理应用程序
27.2.6 引入Strategy模式
26.3 分布式处理
第28章 数据库级缓存
28.1 SqlCacheDependency的特性
28.2 数据缓存的实现
28.2.1 数据缓存接口
28.2.2 数据缓存接口的实现
28.2.3 数据缓存工厂
28.2.4 引入Facade模式
28.2.5 引入Proxy模式
第29章 业务逻辑层设计
29.1 与领域专家的合作
29.2 与数据访问层的通信
29.3 接口与实现分离
第30章 表示层设计
30.1 ASP 2.0新特性
30.1.1 MemberShip与Profile
30.1.2 Login控件
30.1.3 Master Page与Thems
30.2 Atlas