架构师训练营 - 第 3 课总结 -20200620- 软件设计

用户头像
👑👑merlan
关注
发布于: 2020 年 06 月 18 日



1. SOLID原则(复盘)

2. 依赖倒置(复盘)

  • 高层controller模块(根据业务逻辑)定义了自已的抽象/接口,低层service实现接口,controller不再依赖于service的接口,因而依赖倒置了.

  • 依赖倒置是IOC的一种实现.

  • 依赖倒置常用于框架.应用程序不需要调用框架的代码就可以使用框架.

  • 架构师开发的代码是给工程师用. 工程师开发的代码给用户用.

  • 若要看框架核心代码,可看最初版本的代码.少而精.



3. 设计模式的定义和作用





4. 模式案例

响应式编程 - Flower(异步架构设计)



工厂模式 - 排序器设计

1) client端实现了开闭原则,但是xxxFactory没有.



2) 通过反射,优化xxxFactory,将指定的排序算法作为传入参数.但会导致client的代码随需求改变以及其他新的问题.

3) 继续优化,将排序算法放入配置文件.这符合了开闭原则. 但则不能在编译阶段发现配置是否有误以及Sorter的值的单一等问题.(与spring已有几分相似)

单例模式 - 代码设计



方法一: 一开始就创建



方法二: 延迟创建,并支持多线程.

Spring中的单例模式应用

适配器模式

把某个对象已经提供的方法适配成另外一种对象,以供使用.

模版模式 - Junit
  • 使用了策略模式(插件),模版模式,映射,组合模式等模式.

  • 多层模版模式的嵌套组合

  • 模版模式中,基类定义了一组流程,包含不同步奏,并要求子类必须执行或可以选择执行这些步奏.

策略模式 - Junit



组合模式 - AWT
装饰器模式





MVC - Spring







发布于: 2020 年 06 月 18 日 阅读数: 48
用户头像

👑👑merlan

关注

还未添加个人签名 2018.12.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 第 3 课总结 -20200620- 软件设计