繁体   English   中英

编辑现有对象应该在存储库层还是在服务中完成?

[英]Editing of an existing object should be done in repository layer or in service?

例如,如果我有一个有债务的用户。 我想改变他的债务。 我应该通过获取对象,编辑并保存对象,在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
 }
}

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

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

请记住,这只是一个示例方法。 在编程中没有一套方法可以实现某些目标,你可以完全不同地做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM