前言 本文主要探讨基于 DSL(domain specific language) 之上的插件设计,他们是领域的附属,为领域提供额外的服务,但领域不依赖于他们. 1. 论述 领域应当尽可能地去专注他的核心业务规则,应当尽可能地与其他辅助性的代码解耦,一些通用的功能可以耦合进框架或者设计为中间件:但还存在有一些是与核心功能无关的,且又与业务逻辑密不可分,譬如特定的监控.特定的埋点.为领域定制的稳定性保障等,把他们定义为插件再合适不过,其依赖关系如前言所述. 2. 设计方案 暂不讨论特定的插件要实现…