对这三个概念都作了一定的理解:
1:首先是DDD:理解了几个概念:充血模型、上下文、领域
充血模型本质就是,我们要把Service的方法放到类中,比如Entity或者POJO或者其他
DDD通过将一个复杂的业务,将一个复杂的业务划分为多个高度内聚的不同的小业务(用领域来指代),再将领域划分为多个轻度耦合的上下文,通过Repository仓库,来进行其彼此之间的调用,将实现一个原本复杂的Service业务,通过DDD思想进行解耦
其解决的问题是:使臃肿的项目瘦身,保证随着后期的项目迭代和业务复杂度的提升,我需要修改的仍然是一个高度内聚的聚合根,只要修改这个聚合根,就能够实现对复杂业务的修改
2:规则引擎:主要是解决了上线的问题,比如我们的一个业务流程,如果出现了需求的变更,为了避免为了这种小的更改,而进行整个项目的重新上线,我们可以选择使用规则引擎的方式,通过写入条件到文件,实现修改文件,修改业务的方式,避免了频繁上下线
3:Groovy的使用,主要是作为脚本使用,但是也可以实现与规则引擎同样的效果