写点什么

架构学习笔记:架构设计 3 原则

用户头像
风翱
关注
发布于: 2021 年 05 月 21 日

架构设计 3 原则:合适原则、简单原则、演化原则。


合适原则

合适原则宣言:“合适优于业界领先”。

优秀的程序员都有很强的技术情结,当它们做方案或架构时,总是想不断挑战自己,想达到甚至优于业界领先水平是其中一个典型表现。

“脚踏实地”,才能找到合适的方案。 “脚踏实地”主要体现在以下几个方面:

1.将军难打无兵之战。

没那么多人,却想干那么多活,是失败的第一个主要原因。

2. 罗马不是一天建成的

没有那么多积累,却想一步登天,是失败的第二个主要原因。

3. 冰山下面才是关键

没有那么卓越的业务场景,却幻想灵光一闪成为天才,是失败的第三个主要原因。


简单原则

简单原则宣言:“简单优于复杂”。

软件领域的复杂性体现在两个方面:

1. 结构的复杂性

2. 逻辑的复杂性


演化原则

演化原则宣言:“演化优于一步到位”。

对于建筑来说,永恒是主题;而对于软件来说,变化才是主题。


考虑到软件架构需要根据业务发展不断变化这个本质特点,软件架构设计其实更加类似于大自然“设计”一个生物,通过演化让生物适应环境,逐步变得更加强大:

首先,生物要适应当时的环境。

其次,生物需要不断地繁殖,将有利的基因传递下去,将不利的基因剔除或者修复。

第三,当环境变化时,生物要能够快速改变以适应环境变化;如果生物无法调整就被自然淘汰;新的生物会保留一部分原来被淘汰生物的基因。


软件架构设计同样是类似的过程:

首先,设计出来的架构要满足当时的业务需要。

其次,架构要不断地在实际应用过程中迭代,保留优秀的设计,修复有缺陷的设计,改正错误的设计,去掉无用的设计,使得架构逐渐完善。

第三,当业务发生变化时,架构要扩展、重构,甚至重写;代码也许会重写,但有价值的经验、教训、逻辑、设计等(类似生物体内的基因)却可以在新架构中延续。


发布于: 2021 年 05 月 21 日阅读数: 14
用户头像

风翱

关注

还未添加个人签名 2017.11.24 加入

勇于尝试,持续成长

评论

发布
暂无评论
架构学习笔记:架构设计3原则