3

LosTechiesのJimmyBogardは、EditModelをDomainModelにマッピングするのではなく、EditModelをコマンドメッセージにマッピングすると述べています。誰かがこれをさらに説明できますか?

4

1 に答える 1

4

提供されたメッセージに基づいて、関連するドメイン オブジェクトに対して必要な操作を実行するコマンド パターンのバージョンになると思います。たとえば、次のようなもの

public PromoteEmployeeCommand : ICommand {
     private readonly PromotionMessage _message;
     private readonly IEmployeeRepository _repository;

     public PromoteEmployeeCommand(PromotionMessage message,
                                   IEmployeeRepository repository) {
          _message = message;
          _repository = repository;
     }

     public void Execute() {
          /* Get the employee, give them a rise etc... */
     }
}

編集モデルからのマッピングは、必要に応じて呼び出すことができるいくつかのコマンド メッセージに解決されます (たとえば、従業員に昇給を与える、マネージャーに通知する、給与計算のメモを追加するなど)。

このアプローチの利点は、ドメイン モデルを、編集モデルによって公開される表示上の問題から分離できることです。

于 2009-12-14T21:45:28.413 に答える