| 教学单元 |
单元教学内容 |
| 第一单元:面向对象设计要义 |
1、面向对象思想的核心要素
(1)封装的本质与意义
(2)封装与信息隐藏
(3)良好的封装与对象的高内聚
(4)继承与基于差异式编程
(5)合成/聚合复用原则
(6)多态与抽象
(7)多态的实现形式
2、案例分析
(1)邮件服务
(2)员工信息管理 |
| 第二单元:重用原则 |
1、导致代码重复的原因
(1)懒惰:容忍不好的代码
(2)技能不足:复制与粘贴反模式
(3)缺乏沟通:重复制造轮子
2、重复带来的后果
(1)重复实现,影响开发效率
(2)解决方案蔓延
(3)无法有效复用
3、对象级重用
(1)保证对象的粒度(方法级、类级、模块级和层级)
(2)横切关注点的识别
(3)系统的共性分析
(4)对象的封装与职责委派
(5)DRY原则
(6)迪米特法则
(7)单一职责原则
4、架构级重用
(1)架构资源元模型
(2)开发期资源
(3)运行期资源
5、模式参考
(1)简单工厂模式
(2)模板方法模式
(3)代理模式
(4)适配器模式
(5)装饰器模式
6、案例分析
(1)遗留系统分析
(2)过长方法的坏味道
(3)Model的重用
(4)JUnit分析
(5)Acegi授权认证分析 |
| 第三单元:协作原则 |
1、职责驱动设计
(1)如何识别对象的职责
(2)履行职责的方式
(3)专家模式
(4)自治对象
(5)职责的分配
2、协作的要则
(1)对象社区
(2)协作的方式
(3)协作的度
(4)时序图与对象协作
(5)按照意图设计
(6)协作与职责委派
(7)协作与依赖
(8)协作与平衡
3、模式参考
(1)MVC模式
(2)管道-过滤器模式
(3)工厂模式
(4)观察者模式
(5)调停者模式
4、案例分析
(1)数据分析器
(2)Spring MVC分析
|
| 第四单元:扩展原则 |
1、功能扩展
(1)扩展的定义
(2)内部扩展
(3)外部扩展
2、可扩展性设计
(1)扩展与抽象
(2)扩展与继承
(3)扩展与组合
(4)开放封闭原则
(5)依赖倒置原则
(6)针对接口编程
(7)惯例优于配置
3、可变性分析
(1)视角框架
(2)寻找变化点
(3)封装变化
4、模式参考
(1)装饰器模式
(2)代理模式
(3)策略模式
(4)命令模式
(5)访问者模式
(6)微核模式
5、案例分析
(1)JUnit分析
(2)短信平台
(3)话单处理
(4)格式规则匹配器
|
| 第五单元:分离原则 |
1、关注点分离
(1)职责分离
(2)扩展点分离
(3)架构属性与关注点
(4)架构视图
(5)模块与层的分解
(6)接口隔离原则
2、处理变化
(1)封装隔离变化
(2)抽象稳定变化
(3)分离变与不变
(4)分离变化与变化
3、模式参考
(1)桥接模式
(2)迭代器模式
(3)装饰器模式
(4)MVC模式
(5)分层架构模式
4、案例分析
(1)AIATools项目分析
(2)EISaaS架构分析
(3)图形处理系统
|
| 第六单元:简约原则 |
1、架构与设计的要义
(1)设计需要化繁为简
(2)架构设计的度
(3)避免夸大的灵活性
(4)优良架构的特征
2、场景驱动设计
(1)分辨客户需求
(2)识别风险与优先级
(3)封装隐藏实现
(4)抽象统一模型
(5)提高代码质量
(6)敏捷设计原则
3、对简约原则的考量
(1)可复用性
(2)可扩展性
(3)可测试性
(4)可读性
(5)易用性
4、设计反模式
(1)模式病
(2)分析瘫痪
(3)设计过度
(4)意外的复杂度
5、模式参考
(1)外观模式
(2)入口模式
(3)建造者模式
(4)包装器模式
(5)注册表模式
(6)Service Locator模式
6、案例分析
(1)汽车零售系统
(2)AIATools分析
(3)燃气集团解决方案分析
|
| 第七单元:间接原则 |
1、间接的思想
(1)以迂为直
(2)间接性与层次
(3)间接的度
2、引入间接
(1)引入间接隔离变化
(2)职责的委派
(3)职责的封装
(4)职责的抽象
(5)职责的适配
3、间接的目的
(1)降低耦合
(2)化繁为简
(3)隐藏细节
4、模式参考
(1)外观模式
(2)代理模式
(3)适配器模式
(4)调停者模式
(5)资源库模式
(6)Service Locator模式
(7)分层架构模式
5、案例分析
(1)缓存处理
(2)功能引擎
(3)适配Jxl |
| 第八单元:一致原则 |
1、一致原则的体现
(1)接口的一致
(2)形式的一致
(3)调用的一致
(4)解决方案的一致
2、和谐的软件系统
(1)需求的一致性
(2)架构视图的一致性
(3)架构策略的一致性
(4)产品的一致性
(5)技术选择的标准
3、一致遵循的原则
(1)惯例优于配置
(2)Liskov替换原则
(3)局部整体原则
(4)接口统一原则
4、模式参考
(1)合成模式
(2)适配器模式
(3)代理模式
(4)空对象模式
(5)外观模式
5、案例分析
(1)数据源的处理
(2)NHibernate分析
(3)JUnit分析
(4)图像处理系统
|