gam*_*ein 2 java domain-driven-design crud
我正在尝试实现域驱动设计,代码的基本结构包括以下对象:
Action->Facade->
Service
Model
Repository
Run Code Online (Sandbox Code Playgroud)
您认为CRUD方法应该放在模型中,如下所示:
order.save(new order())
Run Code Online (Sandbox Code Playgroud)
或者像下面这样放在外立面:
addOrderFacade.save(new order())
Run Code Online (Sandbox Code Playgroud)
"保存"或"删除"方法属于存储库.通常,Save由服务或命令处理程序调用(如果您使用基于命令的方法来更新域).从CRUD保存处理CU,D得到自己的方法,R部分是有趣的.
如果R表示'GetEntity'以便更新它,那么它可以是与Save一样处理的域存储库(存在多个存储库)的一部分.
但是,如果要读取显示,基本只是将结果返回给用户的查询,则应使用专用于查询的不同存储库,以及简化的只读模型.可以从控制器甚至UI调用此repo.