[笔记] 02 架构设计3个原则
从程序员到架构师,有一个明显区别:不确定性。
编程执行的结果是确定的。架构设计,本质上是不确定的。用不同架构去做同一个需求,可能都能正常运转。但架构设计还是有一些隐含的共性原则的。
合适原则
合适优于业界领先。
优秀的架构,都是在企业当前的人力、条件、业务等各种约束下设计出来的,能够合理地将资源整合在一起,发挥最大功效,快速落地。
追求极致技术的架构,可能工作量远大于实际人力,可能没有实际场景的积累,可能想依赖天才的灵感、可能脱离了具体业务……必然失败。
简单原则
架构设计是技术活。历史上的技术活,无一不是越来越精细,越来越复杂。软件的复杂度体现为:
- 结构的复杂性
- 逻辑的复杂性
降低结构复杂,就必然增加逻辑复杂;降低逻辑复杂,也会增加结构复杂。所以,如果能简单时,请选择简单的方案。KISS(Keep It Simple and Stupid)。
演化原则
演化优于一步到位。
软件架构和建筑架构是最常一起比较相似性,但两者有个本质上的差异:建筑一旦完成(开工),就不可再变;软件却需要根据业务发展不断变化下去。前者的主题是永恒,后者的主题是变化。
误区:试图设计一个软件架构,期望无论业务如何变化,架构都稳如磐石。
其实,架构设计更应该类似大自然设计生物的思路,不断演化和适应。
附记:在茫茫的信息海洋中,遇到就是有缘,期待回复交流,为缘分留下痕迹……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示