ファウラーのエンタープライズアプリケーションアーキテクチャパターン(PofEAA)において、 ビジネスロジックのアーキテクチャにはドメインモデルかトランザクションスクリプトかという二択があります。 仮にプレイヤーの名前変更(ゲームでは可能なことも普通にあるので)をするとします。 ドメインモデル var user = _repository.Find(userId); user.ChangeName(name); //バリデーションは中で行われる=ビジネスロジックがオブジェクトにある _repository.Save(user); ドメインモデル貧血症 //ロジックがモデルオブジェクトの外にある if(!IsValidName(name)) { throw new ArgumentException("name"); } var user = _repository.Find(userId)