洞察设计模式的底层逻辑

Posted 帷幄庸者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洞察设计模式的底层逻辑相关的知识,希望对你有一定的参考价值。

原文链接:https://mp.weixin.qq.com/s/qRjn_4xZdmuUPQFoWMBQ4Q

读后总结

文章通过“底层逻辑”思想引入在设计模式的底层逻辑就是“找到变化,封装变化”。文章进一步引出“什么在变化,变化了什么”。文章并没有过多讨论设计模式,而是引出了一种基于业务场景,思考变化,归纳变化,并进一步灵活应用前人的设计经验,设计总结的原则,应对变化。其实设计模式就是经典场景的总结,但是不是唯一,要勤加总结,还可以有更多原则。注意避免潜意识的为了技术而技术,技术一定是应对特殊业务服务,尤其核心所解决的问题。基于本文的结构,后续可以总结每一种设计模式,所应对的价值意义,所能应对什么变化,应对范式是什么,可以进一步加深思考。回到架构本身,架构就是在应对需求变化下的结构设计,良好而简单的结构远剩余无休止的盲目劳动。

文章主旨:找到变化,封装变化

文章通过“底层逻辑”思想引入在设计模式的底层逻辑就是“找到变化,封装变化”。

文章进一步引出“什么在变化,变化了什么”。

什么在变化

对象有三个不同维度的变化:对象结构的变化、对象规格的变化、对象行为的变化

对象的关系划分成两类:线性关系和非线性关系(树和图)

不同的业务领域,变化多种多样,需要行业的积累。

对象结构的变化

  • 线性结构:如何解决一个对象变化不会影响关联的对象?对象内部变化
  • 树结构:如何解决不断新增对象的问题?对象增减结构变化
  • 图结构:如何解决用户方便使用复杂系统的问题?系统整体结构变化

对象规格的变化:数量、类型、外观

对象行为的变化:要素、操作、流程

如何封装变化

从封装的类型上看,有数据的封装、方法的封装、类型的封装等。

  • 数据的封装:对象的属性
  • 方法的封装:对象的行为及可能变化的行为
  • 类型的封装:不用关心派生类实现
  • 其他对象的封装:屏蔽实现细节

从封装层次来看:封装原则、封装模式、封装方法

设计模式、设计原则,实际就是在解决如何封装变化的问题的具体方法,但是很多新人往往在不明白首先明白什么在变化,才有条件去思考如何封装变化。

合适场景利用技术解决问题,不能滥用技术,这是架构师必备素养。

应对变化

  • 寻找对象结构的变化
  • 应对线性的变化
  • 应对非线性的变化

应对业务变化

设计模式还是要应用到实际的业务中才能发挥它的价值, Alan Shalloway 提到一个观点:无法预测哪里有变化,但能知道哪里可能有变化。平时我们在做业务需求开发时,要有这种识别变化的意识,先不要陷入面向过程的思维中,不要一上来就考虑如何去实现,而是思考它是什么,会有哪些变化。

对象设计之道

对象设计有三个问题:有哪些对象?对象之间的关系是怎样的?对象的职责有哪些?

演绎思维:结构–>功能–>行为

归纳思维:行为–>功能–>结构

先归纳有什么,是什么;再用演绎法思考怎么做

对象不只是名词,而是具有职责的东西

以上是关于洞察设计模式的底层逻辑的主要内容,如果未能解决你的问题,请参考以下文章

洞察设计模式的底层逻辑

我的设计模式学习笔记洞察设计模式的底层逻辑

IoT产品经理:人性洞察的底层逻辑

IoT产品经理:人性洞察的底层逻辑

第一性原理(底层操作系统)

85后蒋凡:28岁实现财务自由34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...