8

例如,如果我有一个有债务的用户。我想改变他的债务。我应该通过获取对象、编辑并保存它在 UserRepository 中还是在服务中执行它,例如 BuyingService ?

4

1 回答 1

8

您应该将改变对象的责任留给同一对象,并使用存储库来检索该对象。

示例情况:

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
 }
}

用法(杰克支付 10 欧元):

userRepository.GetUserByName("Jack").makePayment(1000);

请记住,这只是一个示例方法。在编程中没有一种固定的方式来实现某件事,你可以完全不同地做到这一点。

于 2013-11-09T18:42:12.587 回答