| 设计模式基础 | 面向对象原则与设计模式 
优先使用聚合原则单一职责开闭原则依赖倒置原则里氏代换原则接口隔离原则迪米特法则 可扩展性、可维护性与设计模式
 设计模式的分类原则
 设计模式的优劣权衡
 | 
| 设计模式最佳实践 | 分析系统中的变化 设计模式的使用原则
 UML模型中如何使用设计模式
 案例分析:使用设计模式的实践流程
 
 
相关的设计问题
                            
表示层、业务逻辑层、数据访问层的解耦数据访问可扩展性数据访问性能业务逻辑处理的可变性实现OCP原则 
利用IoC模式建立配置级别的扩展能力围绕问题应用设计模式
                            
使用工厂模式建立数据访问接口的可扩展性应用门面模式降低层次之间的偶合度策略模式为业务逻辑建立可适应性 | 
| 设计模式使用准备阶段 | (1) 健壮性分析(获得边界对象、控制对象与实体对象) (2)  转换需求场景(使用时序图转述需求,获得对象行为细节)
 (3) 整理分析类(获得对象间关系)
 (4) 对象状态建模(获得事件模型,使用状态图建模)
 (5) 局部分析阶段成果提交
 (6) 案例实践:使用Agile_ICONIX实践局部分析
 | 
| 创建型模式(每种模式从意图、描述、问题和实例四个方面介绍) | (1)单件模式与实例对象管理方式 (2)原型模式与集合
 (3)生成器模式
 (4)工厂模式与可配置性设计
 (5)综合分析创建型模式
 (6)案例分析:Remoting中的设计模式
 | 
| 结构型设计模式(每种模式从意图、描述、问题和实例四个方面介绍) | (1)代理模式 (2)外观模式与业务外观层设计
 (3)装饰模式
 (4)适配器模式、桥接模式
 (5)组合模式
 (6)综合分析结构型模式
 (7)案例分析:代理模式构造复杂权限管理系统
 | 
| 行为型模式(每种模式从意图、描述、问题和实例四个方面介绍) | (1)职责链模式与表达式解析 (2)命令模式与备忘录模式
 (3)中介者模式与观察者模式
 (4)策略模式
 (5)模板方法模式
 (6)访问者模式
 (7)状态模式
 (8)综合分析行为型模式
 (9)案例分析:基于工作流系统开发中的设计模式
 | 
| 设计模式的扩展 | MVC模式 Caching模式
 Pooling模式
 案例分析:MemCached缓存中的设计模式
 案例分析:开源项目中的设计模式XXXUnit
 | 
| 设计模式与交流 | 设计模式语言与组织成员的设计交流 软件设计师在UML工具中执行设计模式
 软件架构设计师普及设计模式语言
 设计模式与架构模式
 敏捷设计中的交流语言
 | 
| 拙劣设计的坏症状与重构 | 拙劣设计常见症状 设计重构的基本策略
 重构的基本原则
 利用单元测试进行重构
 重构到设计模式
 在详细设计中如何找到重构点
   | 
| 设计模式在大型项目中应用 | 设计模式的使用频度与性能关系 分析某高性能要求系统的内存管理与设计模式
 分析某开发接口的平台与设计模式应用
   |