《架构整洁之道》小记录

最近读了一本书,为《架构整洁之道》,有了些收获,因此做此记录。

开发人员肯定会经常听到设计模式,设计思想这样的词汇。但也总有人说设计模式是绣花腿,一不小心就会使代码 “过度设计”。那么如何合理的使用设计模式?

在屎山代码中,大师提出了设计模式,为了解决代码难以维护的问题。

所以第一个 point 是设计模式是用来解决问题的,要清楚问题是什么,再去选择合适的设计模式。

第二个 point 是设计模式的核心是限制,使用设计模式并不是新增功能,而是对现有语言的使用进行限制。比如结构式编程是对代码流转进行限制。函数式编程是对对象可变性的限制。

基于这两点“浅显”的看法,我对本书中提到了 “依赖倒置分析(DIP)” 原则印象深刻。这本书描述的我没看明白🤦,所以找了另一本设计模式的书学习了一下:

我觉得写的很好,因此摘抄如下:

" 高层次的类不应该依赖于低层次的类。两者都应该依赖于抽象接口。抽象接口不应依赖于具体实现。具体实现应该依赖于抽象接口。"

简而言之,即依赖接口而不依赖实现。

但 js 中其实没有接口这个概念,因为 js 中没有类型。但我理解,虽然没有接口,但借助 ts 可以通过某种约定而实现(虽然说很有可能会出错)。DIP 原则在 前端的应用就是 IOC 了,听到这个名次就觉得很熟悉了。

但在一些实际的场景中,没办法做到百分百依赖倒置,高层类或许还是会依赖底层类的一些细节,这或许是业务逻辑本身导致的。