存储库是否应通过传入id或实体本身来删除/删除实体

前端之家收集整理的这篇文章主要介绍了存储库是否应通过传入id或实体本身来删除/删除实体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在创建一个存储库,并想知道实体的删除操作的“最佳实践”是什么.在下面的选项中,make和model构成Car实体的键.

选项1:

deleteCar(Car car)

选项2:

deleteCar(String make,String model)

选项3:

deleteCar(CarKey carKey)

起初我认为选项1,但实际上选项2似乎更吸引人(我不想得到一个对象,当我只有id只是为了我可以将它传递给删除方法).我把选项3放在一边,因为我看过这样的东西,但这对我来说似乎不对,因为CarKey实际上并不是一个域对象.

思考?

解决方法

选项3.

CarKey不是一个域对象(它可以是一个值对象)并不重要,id就是该动作发生所需的全部内容.这是因为,如果Car是AR,则存储库应该知道如何GetIt以及如何处理删除.

猜你在找的HTML相关文章