作者回复: 这是设计模式的核心思想,能理解到这点比背住23个模式更重要
作者回复: 挺实用的方法,架构设计原则部分会讲到
作者回复: 符合实际情况,分层最有用,代码中用设计模式,如果后面接手的人不懂或者理解不到位,最后改的代码简直没法理解,还不如面向过程😂
作者回复: 我的经验供参考:设计的时候考虑可扩展性,但如果评估后发现可扩展性设计的代价太大,那就暂时不做,等到真的有需求时再重构。
过早考虑可扩展性,很多通用性和抽象都是推测的,等到真的要落地了,很可能发现事实并非如此,这就是预测是错误的。
回到你的案例,一般来说,短信本身会考虑可扩展性,例如联通的短信接口和电信的不同,这种可扩展性是要一开始就设计的,但短信和微信,看起来都是消息,实际上差异非常大,可扩展性设计想兼容这两种方式,方案比较复杂,可能看起来有点不伦不类
作者回复: 深扣细节的话,就直接奔着具体某个系统或者专题,例如kafka或者缓存,这样找书就很容易了
作者回复: 将业务逻辑抽象为固定的步骤,适合业务已经比较成熟了,例如nginx将http的处理步骤抽象为大概10个阶段,如果是创新业务,这样做比较难
作者回复: 非常正确,一定的冗余和浪费,能够大大减少方案的复杂度
作者回复: 这也不行,可能功能还没做完就要重构了
作者回复: 不错👍👍
作者回复: 专栏已经是我综合自己的经验,结合看了很多架构设计的书籍整出来的,如果专栏看的有点吃力,那看其它书会更吃力。
可以说说你吃力的点,看看能不能帮到你
作者回复: 纠正一下:SOLID原则不是设计模式里面的,而是对象和接口的设计原则。
依赖倒置的难点就在于稳定层的设计,实践中稳定层也难以保证稳定
作者回复: 现在看到也不晚😂