架构学习笔记:架构设计 3 原则
架构设计 3 原则:合适原则、简单原则、演化原则。
合适原则
合适原则宣言:“合适优于业界领先”。
优秀的程序员都有很强的技术情结,当它们做方案或架构时,总是想不断挑战自己,想达到甚至优于业界领先水平是其中一个典型表现。
“脚踏实地”,才能找到合适的方案。 “脚踏实地”主要体现在以下几个方面:
1.将军难打无兵之战。
没那么多人,却想干那么多活,是失败的第一个主要原因。
2. 罗马不是一天建成的
没有那么多积累,却想一步登天,是失败的第二个主要原因。
3. 冰山下面才是关键
没有那么卓越的业务场景,却幻想灵光一闪成为天才,是失败的第三个主要原因。
简单原则
简单原则宣言:“简单优于复杂”。
软件领域的复杂性体现在两个方面:
1. 结构的复杂性
2. 逻辑的复杂性
演化原则
演化原则宣言:“演化优于一步到位”。
对于建筑来说,永恒是主题;而对于软件来说,变化才是主题。
考虑到软件架构需要根据业务发展不断变化这个本质特点,软件架构设计其实更加类似于大自然“设计”一个生物,通过演化让生物适应环境,逐步变得更加强大:
首先,生物要适应当时的环境。
其次,生物需要不断地繁殖,将有利的基因传递下去,将不利的基因剔除或者修复。
第三,当环境变化时,生物要能够快速改变以适应环境变化;如果生物无法调整就被自然淘汰;新的生物会保留一部分原来被淘汰生物的基因。
软件架构设计同样是类似的过程:
首先,设计出来的架构要满足当时的业务需要。
其次,架构要不断地在实际应用过程中迭代,保留优秀的设计,修复有缺陷的设计,改正错误的设计,去掉无用的设计,使得架构逐渐完善。
第三,当业务发生变化时,架构要扩展、重构,甚至重写;代码也许会重写,但有价值的经验、教训、逻辑、设计等(类似生物体内的基因)却可以在新架构中延续。
版权声明: 本文为 InfoQ 作者【风翱】的原创文章。
原文链接:【http://xie.infoq.cn/article/5e899856e29017c1079b3be86】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论