删除功能算不算领域行为

liubiaocai 14-07-31

场景:一个项目包含一个批次(就是一个数字,按照顺序递增),新增项目的时候可以选择一个批次,一个批次允许多个项目使用,删除批次的时候需要同时删除相关的项目,批次可以点击按钮创建。

那么这个删除批次算不算领域模型的行为呢,因为删除批次包含:删除批次本身+删除批次相关的项目,其实这2个删除都是持久化而已,如果是直接在service里面做的话就是在批次的remove里面调用项目的仓储进行删除,这样不知道是否正确呢

1
tangxuehua
2014-07-31 21:46

删除批次的时候为何要删除项目?难道项目是从属于批次的?

liubiaocai
2014-08-01 08:39

因为在新增项目的时候是需要选择一个批次的,这里我在项目模型中加了一个批次模型的id和批次(数字),那么项目本身是可以关联批次的,至于为什么要在删除批次的时候删除项目,客户说要怎么做的,没有办法,之前根本就没有什么创建删除批次的,也就是说原本批次是在项目新增的时候自动生成的,现在脑残客户要怎么说我也没有办法

tangxuehua
2014-08-01 14:04

恩,那你如果要级联删除,那就用一个领域服务,同时删除多个聚合根就好了。

showerxp
2014-08-06 22:15

2014-08-01 08:39 "@liubiaocai"的内容
现在脑残客户要怎么说我也没有办法 ...

那需要再问一问为什么这么脑残?说不定后面还有业务故事。即便用户说要“删除”,也可能“删除”这个词是用户的习惯用语,和真实编程里面的删除内涵不一样。
同时多问几个其他人,很多业务规则不符合常理,恰恰说明里面有很强的专业规则。

2Go 1 2 下一页