为维护而设计:架构设计的首要原则

phodal at 
软件开发总成本 = 开发成本 + 维护成本;软件维护成本 = 理解成本 + 修改成本 + 测试成本 + 部署成本。—— Ken Beck 在设计框架、系统架构时,可扩展性是人们想追求的特征之一。从技术社区的文章上,我们可以看到大量的相关字典,诸如于“通过配置和定义进行可扩展”,又或者是“业务流程”的可扩展,还有各类的“插件 ”以及“可扩展的点” 等等的话术。真是呢,从我们所经历的大部分项目来说,这些系统的可扩展性并没有真的那么好。有些,可能是在设计系统时,它可以满足于当前的需要,不适合未来的场景 —— 这是另外一个故事了。有此,则是架构师在设计系统的时候,缺乏对于边界的限定的考虑。对于边界限定……