1.7 规划还是演化

虽然大家对架构演化持支持肯定的态度,认为经过演化的架构一定是好的,但是如果演化周期很长的话,那么是否要进行演化就需要商榷了。就像不可降解的塑料制品,其以无害的状态重新回归自然需要几百年甚至更长的时间。考虑演化时要结合软件/应用系统的生命周期,否则演化将失去意义。

“好的架构是设计出来的[10]”,好的性能、好的质量,主要源于好的设计,而不依赖于测试。架构的质量将直接影响架构向好的方面演化的难易程度。

单靠演化,即使能使架构越来越优,也可能需要很长的周期,而对于产品或者项目而言,时间这个约束条件往往是苛刻的。

演化需要对架构进行不断的迭代,但是迭代是有条件的,不是所有的迭代都能收敛。演化应该在有规划的基础上进行,尽管通过演化无法得到普适的架构,但可以得到特定领域的通用架构,可以在特定领域逐步优化应用架构,逐步与业务架构相适应,提高匹配度。

图 1.5[11]是北京城址的变迁示意图。作为古都,它的建设是按照《周礼》中的思想进行规划的。在规划的基础上所做的建设是有序的,但也不是一成不变的,在漫长的历史长河中,它也经历了金中都、元大都、明清北京的演化。

图1.5