Day1 | |
面向对象设计核心的SOLID原则 | 一、 高阶程序员内功心法 -- SOLID原则 1. 单一职责原则 a) 耦合的职责在需求变化时,会使设计遭到意想不到的破坏 b) 通过单一职责分离命令与查询 2. 开放封闭原则 a) OOD中的经典牛顿力学定律 b) 如何不修改源代码而改变它的行为 c) 只被第一颗子弹击中 3. 里氏替换原则 a) 什么才是好的继承关系 b) 白盒复用与黑盒复用 c) 为什么正方形不是矩形 d) IS-A 的精髓 e) 契约式设计 4. 接口隔离原则 a) 接口污染 b) 对象/类适配器,如何分离接口 c) ATM机升级问题 5. 依赖倒置原则 a) 好莱坞原则 b) 结构化与对象化,对于模块组织的差异 c) 分离关注点 d) 依赖注入 6. 5大原则实战与剖析 |
装饰者模式高阶应用 | 二、 装饰者模式高阶详解 1. 业务量增长带来的多数据源问题 2. 运用装饰者模式巧妙解决多数据源问题 3. 装饰者模式及其概念 4. 装饰者模式的应用 5. 案例:多数据源的设计实现 a) 多数据源问题的分析设计过程 b) 多数据源的设计与实现 6. 案例:商城收银系统的设计变更过程 a) 商城收银系统期初的设计 b) 混合策略的设计与实现 c) 多层装饰者的设计与实现 7. 重新理解里氏替换原则 a) 透明的功能扩展 b) 里氏替换原则 8. 练习:商场收银系统的2种设计与实现 |
模板方法模式高阶应用 | 三、 模板方法模式高阶详解 1. 模板方法模式可以解决的问题 a) 煮咖啡给我们的启示 b) 设计工厂类的新思路 c) 模板方法模式及其概念 2. 模板方法模式的作用与技巧 3. 案例:一个工厂模板的设计与实现 4. 深入理解不要重复自己原则 a) 重复代码带来的严重后果 b) 散弹式修改及其解决思路 c) 探讨实现代码复用的难题 d) 代码复用在不同场合采用的方法 e) 模板方法模式在代码复用中的作用 |
状态模式高阶应用 | 四、 状态模式高阶详解 1. 每天都遇到的实现其实不简单 – 电梯按钮的实现 2. 动作视角 -> 状态变化 3. 状态视角 -> 映射所有动作 4. 使用状态来实现同一个动作的多态 5. 状态模式与策略模式:孪生兄弟 6. 状态模式的实例,权限审批流程 |
其他模式案例 | 五、 其他设计模式典型案例 1. 观察者模式:JobHunter的情景剧 2. 代理模式:老板与秘书的差异 3. 命令模式:像工作流一样处理业务 4. 外观模式:超级家庭影院的烦恼 5. 构建器模式:SQL Builder的设计 6. 组合模式:如何构建一棵树 7. 中介者模式:QQ在沟通中的作用 8. 迭代器模式:如何顺序访问一个集合 |
课程特点
将UML、OO、设计模式与重构有机结合;
精炼设计原则,通过引入对职责与抽象的分析,提高设计能力;
结合用例驱动与领域驱动,提出场景驱动设计,简化设计过程。