4006-998-758
3000+课程任你选择
高阶设计模式实战详解
研发学院 状态模式 高阶应用 SOLID原则
戴昊

现任创业AI公司研发技术总监负责带领团队研发计算机视觉、AI安防及大数据相关产品。15年+ 大型软件产品架构经验。曾为日本第一,世界第二的瑞穗银行(Mizuho Bank);世界第二大证券交易所 – 东京证券,五十铃汽车开发企业级系统。曾给深圳证券交易所,深圳证券,招商银行信用卡中心,平安金融,中国电信,DELL 讲授过企业级架构及重构与模式的课程。擅长企业级系统架构,领域驱动设计,重构与模式。


查看老师详情
课程内容

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、设计模式与重构有机结合;

精炼设计原则,通过引入对职责与抽象的分析,提高设计能力;

结合用例驱动与领域驱动,提出场景驱动设计,简化设计过程。


返回上一级