声明式配置 vs 编程式配置 声明式 语义简单且明确。 与具体实现解耦,利于重构。 用户交互的接口粒度粗。交互接口抽象了具体功能。而这抽象限制了功能的扩展。 编程式 语义复杂,需要用到函数组合。 与具体实现强耦合,API 的设计与整个程序架构耦合。 大的重构容易造成交互接口的不兼容改动。所有设计必然存在缺陷,就需要修改,然而不能重构会导致历史包袱越来越重。 用户交互的接口粒度细。 扩展方便,自定义需求可由调用方自己实现。