Funky Gao

Results 31 comments of Funky Gao

场景的复杂性: - topic可能不确定 - 发送时,可能有if条件,不同条件发送到不同队列 - 但message schema一定是确定的,它代表的的业务语义 - producer和consumer可能位于不同的应用 - 但前提是都是同一个业务域,否则也没有必要关心:MQ本身就是解耦生产和消费的

cd /data/workspace/src/github.com/funkygao/dbus/cmd/dbusd; go build; ./dbusd

在这里交流:https://gitter.im/cp-ddd-framework/community

> 核心域调用库存支撑域的领域服务时,能有个复杂数据类型的对象传递,而不是简单的字符串,是不是也需要通过核心域model -> 支撑域Creator -> 支撑域Model -> rpc的dto? 不需要,这属于shared kernel模式,直接使用domain model,不要DTO

> > > 核心域调用库存支撑域的领域服务时,能有个复杂数据类型的对象传递,而不是简单的字符串,是不是也需要通过核心域model -> 支撑域Creator -> 支撑域Model -> rpc的dto? > > > > > > 不需要,这属于shared kernel模式,直接使用domain model,不要DTO > > 那domain model定义放到order-center-stock-domain里?但cp-oc-domain只依赖order-center-stock-spec 4f50da7191f922ea5fe806da59eed756bb4e3bd7 改进了一下demo,看看这个commit能否回答你的疑问

> 如果在pattern里需要通过rpc来获取数据,并转换成核心域的model存储,但是pattern只能用spec的内容,没法使用model creator,这种要如何处理呢 pattern是不可能create model的,创建domain aggregate是在core domain里做的。pattern依赖spec,没有依赖domain,主要是想给扩展做些约束,不想直接暴露。这样中台的控制权大些,否则容易失控 pattern可能会创建vo,典型场景:数据补全。那就在spec层开放出对应补全的方法,以便pattern可以在RPC获取数据后,回补domain model数据

> > > 如果在pattern里需要通过rpc来获取数据,并转换成核心域的model存储,但是pattern只能用spec的内容,没法使用model creator,这种要如何处理呢 > > > > > > pattern是不可能create model的,创建domain aggregate是在core domain里做的。pattern依赖spec,没有依赖domain,主要是想给扩展做些约束,不想直接暴露。这样中台的控制权大些,否则容易失控 > > pattern可能会创建vo,典型场景:数据补全。那就在spec层开放出对应补全的方法,以便pattern可以在RPC获取数据后,回补domain model数据 > > 数据补全,spec层开放出补全的方法,可以在spec层用java bean来作为参数来传递到domain层吗 sure,domain层是实现spec层的,领域模型的一致性和保护等由domain层控制

@zqWu as in 487115c1395215944b6112b2ed5f6e920010764e, is that enough? Am I missing something? thanks for your feedback

sorry, no. IDomainModel 是 marker interface,它本身并不影响贫血还是充血

pls checkout a full project demo: https://github.com/funkygao/cp-ddd-framework/blob/master/dddplus-test/src/test/java/ddd/plus/showcase/README.md