软件设计底层原则
Outlinks (0)
No outlinks found
1 · 软件设计底层原则
S 场景:当系统开始变大,讨论就会反复落到”模块怎么拆、关系怎么管、变化怎么扛”这些基础问题上。
C 冲突:局部实现总想追求快速完成,但系统整体又要求低耦合、可替换、可扩展、可维护,两者天然拉扯。
Q 问题:抛开语言、框架和具体模式,软件设计反复依赖的底层原则到底是什么?
A 回答:可以压缩为 6 个高频原则:职责、封装、组合、依赖、约束、演化。
软件工程里大量方法论,本质上都在反复处理这 6 件事:
- 职责:先
切问题边界,明确一个东西该负责什么,不该负责什么。 - 封装:
隔离复杂性,对外暴露稳定接口,对内隐藏实现细节。 - 组合:关注多个
部分如何协作,而不是把所有能力堆进单点。 - 依赖:治理
协作关系,控制耦合的方向、范围与传播。 - 约束:限制
系统行为,固定边界、规则与不变量,避免失控扩散。 - 演化:让结构能承受
变化,在新增需求下仍可调整而不整体失稳。
可把它们理解为三个层次:
- 单体内部:职责、封装。
- 多体协作:组合、依赖、约束。
- 面向未来:演化。