阅读主题
核心命题:开放一个扩展点,就需要定义外部代码介入时的执行与失败约定。
比较配置、策略对象、回调、钩子、监听器和插件;定义调用次序、状态可变性、重入、异常、卸载与组合规则。衡量定制能力、可预测性和测试组合的代价。
待写:一个导出钩子阻塞整个操作,另一个插件修改了所有监听者共享的对象。
扩展抛错、阻塞、重复注册、互相冲突与注销后回调;同时检查默认实现。
先定义扩展契约,异步调度和并发实现分别在后续章节展开,不列设计模式百科。