任何的架构设计说到底都是为了实现某个业务系统,从软件的角度尽最大的能力去拟合实际的业务模型,某种意义上看来,要实现的业务系统决定了架构设计的构建。在相对稳定成熟的业务体系之上构建系统架构,决定了架构体系的稳定性和可靠性。在实际的工作中,所碰到的问题很多情况下来自于架构设计没有有效的去拟合实际的业务模型,导致诸如边界不清晰,耦合混乱,牵一发而动全身等等软件通病,导致后期的维护成本和代价高居不下。
如何进行完善的架构设计,依我看来首先要对准备实现的业务模型去熟悉,了解行业规律,熟悉哪些规律是被行业经验所论证过的而且相对可靠和稳定的,从而发现或者理解业务模型的骨架构成,同时又在骨架之下找到有哪些在局部范围内是易变的内容,在有了这样的行业知识的铺垫之后,才可以考虑哪些部分应该是属于架构层的而又有哪些是属于扩展层的,从而在实际业务模型的基础之上梳理出一个相对完善的架构体系。