17 章通过两个例子介绍了在开发初期就设计一套完整的架构最终导致的问题,还有清楚的划分边界并将决策延后带来的好处。通过划清边界,我们可以推迟和延后一些细节性的决策,这最终会为我们节省大量的时间、避免大量的问题。另外如果在系统中采用插件式架构,就等于构建起了一面变更无法逾越的防火墙,相当于清楚地划分了边界,所有以插件形式插入系统中的逻辑都不会影响系统的业务逻辑。为了能在软件架构中画边界线,达到核心与非核心功能的隔离,可以先将系统分割成组件,其中一部分是系统的核心业务逻辑组件,将与核心业务逻辑无关但负责提供必要功能以插件的形式插入。然后通过对源代码的修改,让这些非核心组件依赖于系统的核心业务逻辑组件。









