作者:克林特·尚克(ClintShank)
为了实现、验证和不断发展应用架构,一个非常有用的策略,便是从阿利斯泰尔·考克伯恩(AlistairCockburn)所谓的“可行走骨架”开始。“可行走骨架”是对系统的最简单实现(a minimal implementation),它贯串头尾(end-to-end),将所有主要的构架组件连接起来。从可工作的最小系统开始来训练全部的通信路径(communication path),可以带来“正朝着正确方向前进”的信心。
骨架一旦就绪,就该进入“健身”环节了。通过“全身锻炼”使系统不断成长起来,即增量实现,逐步增加贯串一体的(end-to-end)的功能。目标是要在培育骨架成长的过程中,保持系统一直运行可用(keep running)。
架构的调整是颇为困难和昂贵的,而且历时越久,系统架构也会变得越为庞大。能够越早发现错误越好。“从可行走骨架开始”这一方法,能够创建很短的反馈回路,可以更快速的对系统进行调整,以迭代的方式按优先级列表上的次序满足业务需求,而且这种优先级列表上的质量属性在运行时是可量化衡量(runtime-discernable)的。对架构所做的假设也可以较早地得到验证。由于在早期阶段就发现了问题,这时在实现上还投入不多,架构的演化发展会更为容易。
系统越来越庞大,使用这一策略就越显得重要。对于小型应用程序,一名开发人员就可以从头到尾相对地迅速地实现整个功能,但在较大的系统中,这样做就变得不切实际了。大型系统,通常都会由多名开发人员构成一个开发团队——甚至在整个实施过程中,会有多个可能同时分布在多处的团队——来共同完成。因此,对大型系统开发而言,更多的协调工作是必不可少的。当然,开发人员的效率肯定会有差异。有此开发人员能够在很短的时间内做完许多工作,而其他人可能花了很多时间却成果寥寥。在项目中越是困难大,耗时多的任务,越早完成越好。
从“可行走骨架”开始,保持系统一直运行可用,增量式地进行培育,使其逐步成长。