tes*_*123 8 domain-driven-design repository
我目前正在创建一个存储库,并想知道实体的删除操作的"最佳实践"是什么.在下面的选项中,make和model构成Car实体的键.
选项1:
deleteCar(Car car)
Run Code Online (Sandbox Code Playgroud)
选项2:
deleteCar(String make, String model)
Run Code Online (Sandbox Code Playgroud)
选项3:
deleteCar(CarKey carKey)
Run Code Online (Sandbox Code Playgroud)
起初我认为选项1,但在实践中选项2似乎更吸引人(我不想得到一个对象,当我只有id只是为了我可以将它传递给删除方法).我把选项3放在一边,因为我已经看过类似的东西,但这对我来说似乎不对,因为CarKey实际上并不是一个域对象.
思考?
选项 3。
CarKey 不是域对象(尽管它可以是值对象)并不重要,只要有一个 id 就可以让该操作发生。这是因为,如果汽车是 AR,存储库应该知道如何 GetIt 以及如何处理删除。
| 归档时间: |
|
| 查看次数: |
992 次 |
| 最近记录: |