决策树/决策树 设计模式
目录
概念
为了防止过多的if-else导致后续难以维护和拓展,像这种多分支的决策树会使用设计模式来进行设计。
设计两个接口 一个策略映射器(StrategyMapper<T,D,R>) 和 一个策略处理器(StrategyHandler<T,D,R>) ,一个负责选择使用哪个处理器来处理,一个负责决策的逻辑。
然后使用路由抽象类 AbstractStrategyRouter 通过实现这两个接口,它将两个完全不同的职责融合在了一个优雅的抽象类中
AbstractStrategyRouter 是策略树的可复用骨架。它提供了最基础的“先决策,后委派”的逻辑,使得具体的 Node 子类可以完全专注于自身的业务规则,让整个系统变得清晰、模块化且易于维护。
这样可以通过路由抽象类,实现多个节点,节点与节点直接通过路由规则构成一颗决策树。
参考资料:
《重学java设计模式》-付政委。

浙公网安备 33010602011771号