架构师训练营 - 第 3 周学习总结

用户头像
牛牛
关注
发布于: 2020 年 06 月 22 日
设计模式四部分:名称、待解问题、解决方案、利弊
设计模式功能分类:创建型、结构型、 行为性
设计模式方式分类:
  • 类模式:以继承的方式实现,静态的

  • 对象模式:已组合的方式实现,动态的

设计模式:
  • 简单工厂

  • 单例模式

  • 适配器(类适配-继承&对象适配-组合):以统一接口兼容不一致的接口

  • 模板模式:通过继承实现扩展,基类负责算法的轮廓和骨架,子类负责算法集体的实现

  • 策略模式:通过组合实现扩展,可以结合springboot框架实现策略的选择

  • 组合模式:将对象组合成树形结构以表示"部分-整体"的层次结构。使得用户对单个对象和组合对象的使用具有一致性。

  • 装饰器模式:在不改变接口的情况下,扩展现有对象的功能,可以任意组合



问题总结:

  1. 为什么OOD和设计模式在实际开发中应用较少?

我们大都是基于开源框架进行的业务功能开发,开源框架已经定义了程序结构,可以发挥的空间较小。开源框架本身包含了大量的OOD和设计模式,学习开源框架也是一个提高设计能力的途径。但框架也有不能完全覆盖的地方,这就是我们应用OOD和设计模式的时候。

  1. 如何重构当前系统结构并顺利推行?

如果重构需要大量修改当前业务代码,则推进困难,测试工作也很繁重。我们首先可以基于单一职责原则,把复杂的问题先简单化,难的问题比复杂的问题更好处理。然后利用设计模式屏蔽框架结构的变化,尽量减少重构造成现有业务代码变动,当重构不需要改动现有业务代码时,阻力将不复存在。

  1. 如何选择设计模式?

在开发过程中,基于高内聚、低耦合的思想,遵循OOD设计原则,封装变化的部分并提出抽象,并不是以某一种设计模式去套用,而是通过现有的设计模式带给我们一些设计上的灵感。

  1. 有些设计模式看起来差不多,为什么叫不同的名字?

设计模式本质上是面向对象多态的应用,所以代码看起来是差不多的,但是针对的场景不同解决的问题也不同。每一种设计模式解决一个问题,使用设计模式不必纠结于代码。

  1. 

用户头像

牛牛

关注

还未添加个人签名 2018.02.27 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 - 第 3 周学习总结