64 | 不断完善的架构范式
开闭原则包含以下两层含义:
- 模块的业务要稳定
每一个模块都应该是可完成的
- 根据模块的复杂度来决定。简单的通过回调或者接口的方式开放出去,复杂的通过插件机制将系统分解成“最小化的核心系统和多个正交分解的周边系统”事实上回调函数或者接口本质上就是一种 事件监听机制 ,所以它是插件机制的特例。
开闭原则包含以下两层含义:
每一个模块都应该是可完成的
如何做接口设计?
架构分解中有两大难题:其一,需求的交织。不同需求混杂在一起,也就是存在所谓的全局性功能。其二,需求的易变。不同客户,不同场景下需求看起来很不一样,场景呈发散趋势。
在架构设计中,我们会有一些难啃的骨头。其中最为典型的,就是全局性功能
接口是业务的抽象,同时也是它与使用方的耦合方式。在业务分解的过程中,我们需要认真审视模块的接口,发现其中 “过度的(或多余的)” 约束条件,把它提高到足够通用的、普适的场景来看。
如何判断架构设计的优劣?