Melvin Conway于20世纪60年代后期确定的Conway法则告诉我们,任意一个软件都反映出制造它的团队的组织结构,这是因为人们会以反映他们组织形式的方式工作。 换句话说,分散的团队可能用分散的架构生成系统。项目团队的组织结构中的优点和弱点都将不可避免地反映在他们生成的结果系统中。这意味着,如果您想要努力完成有效的IT架构,那么您需要有有效的IT组织结构。
上面这段话就告诉我们,要想很好的完成一个软件的制作,就应该有一个针对这个软件设计的架构,美丽至简。美丽的架构应尽可能简单,但不要过于简单。书中通过多种例子表达了这个最基本的道理。我见过很多大型的软件架构,从大型的电信网络管理系统,到大规模应用的互联网架构,以及企业级的ERP软件,系统总是遵循从无到有,从简单到复杂,再到简单这样的过程。最终,支撑这些大型系统稳定可靠运行的就是这个最基本的道理。美丽的架构应尽可能精益,并且是演进式发展的。当你架构一个亿万人同时在线的大规模网站系统的时候,你无法从一开始就提供最完善的解决方案,它应该是随着用户的增长而可扩展的。精益的思想让你避免了过度设计,也使架构不断演进,趋于完美。书中从企业级应用架构、用户级应用架构等多个角度提供了相应的解决方案,对于架构师无不是一顿美味的大餐。
架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。所以,架构是设计的一个子集。关注实现系统组件的开发者可能不会特别关心所有组件如何装配在一起,而是主要关注少数组件的设计和开发,包括他们必须遵守的架构约束和可以应用的规则。因此,开发者和架构师面对的是系统设计的不同方面。
而读过《架构之美》之后,了解到了架构对于软件的重要性,在今后的学习中要不断地了解架构,来实现对软件制作的理解。