12
“业务逻辑应该在服务中而不在模型中”的准确性如何?
情况 今天晚上早些时候,我回答了关于StackOverflow的问题。 问题: 现有对象的编辑应该在存储层还是在服务中进行? 例如,如果我有一个负债的用户。我想改变他的债务。我应该通过获取对象,对其进行编辑并保存来在UserRepository或服务(例如BuyingService)中进行操作吗? 我的答案: 您应该将将一个对象变异为相同的对象,并使用存储库来检索该对象。 情况示例: class User { private int debt; // debt in cents private string name; // getters public void makePayment(int cents){ debt -= cents; } } class UserRepository { public User GetUserByName(string name){ // Get appropriate user from database } } 我收到的评论: 业务逻辑实际上应该在服务中。不在模型中。 互联网怎么说? …