好系统 | 半瓶
一个系统结构好,就是复杂性低,大概有这么几个特征:高度复用的部分提取成可复用标准节点、节点分类明确、各节点可扩展、节点间关联有规律(网络矩阵秩低)。整个系统总体的复杂性还与系统中的点和边的权重有关。不管是产品架构还是软件架构还是公司管理架构,只要是复杂系统,其基本逻辑都一样。 对于一个产品而言,假设外界需求是不变量。可以尝试在匹配外界需求接口的前提下,调整产品架构,努力降低其复杂性。当然,外界需求
文章目录 一个系统结构好,就是复杂性低,大概有这么几个特征:高度复用的部分提取成可复用标准节点、节点分类明确、各节点可扩展、节点间关联有规律(网络矩阵秩低)。整个系统总体的复杂性还与系统中的点和边的权重有关。不管是产品架构还是软件架构还是公司管理架构,只要是复杂系统,其基本逻辑都一样。 对于一个产品而言,假设外界需求是不变量。可以尝试在匹配外界需求接口的前提下,调整产品架构,努力降低其复杂性。当然,外界需求不会是不变量,外界需求还应包括潜在扩展需求。在设计系统的时候可以考虑未来,根据考虑潜力的多寡来多试几版,寻求性价比最高的方案。 或许,“构建需求”也是一个系统构建的过程。我们可以从用户的角度出发,看看用户的所有需求如何组织起来才是最合理,最well-structured(结构好)的,基本原则和上述所有的系统原则一致。这样,需求系统也是一个可扩展的系统,正如前文所言,外界需求应当不是不变量,但可以是一个确定的系统。 所以,可以先设计出需求系统,再针对这个需求系统设计出方案架构。 如果没有对复杂系统的认知,那么在设计架构的时候,可能是摸着石头过河。追求近似玄学的“简洁”、“扩展性”,可能是盲目而低效的,要做的原型实验也会多很多。 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
Explore this link on the map →related reading
- Everything I know about good system designseangoedecke.com
- Ryo Lu on X: "complexity first, simplicity second people say “keep it simple,” but most approach it backwards. they start from simple, then add on complexity without seeing the whole. that’s how you end up with frankenstein products: clean-x.com
- Simplicity is An Advantage but Sadly Complexity Sells Bettereugeneyan.com
- System Design Delivery Framework | Hello Interview System Design in a Hurryhellointerview.com
- Do the simplest thing that could possibly workseangoedecke.com
- My Philosophy of Product Building (Part II)every.to
- Shtetl-Optimized >> Blog Archive >> The First Law of Complexodynamicsscottaaronson.blog
- The Programmer's Paradox: Systems Thinkingtheprogrammersparadox.blogspot.com
- On architecture, urban planning and software construction - Tomas Petricektomasp.net
- Spaghetti Towers — LessWronglesswrong.com
- GitHub - karanpratapsingh/system-design: Learn how to design systems at scale and prepare for system design interviews · GitHubgithub.com
- System Design in a Hurry | Hello Interview System Design in a Hurryhellointerview.com