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 に答える