我目前正在创建一个存储库,并想知道实体的
删除操作的“最佳实践”是什么.在下面的选项中,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以及如何处理删除.