MVCアプリに「Stores」というクラスがあり、他のいくつかのフィールドの値に依存する「IsInCompliance」というクラスがあります。ロジックは通過し、「これ、これ、およびこれが真である場合、IsInComplianceは真である」と言います。
これはモデル定義に含める必要がありますか、それともこのロジックをサービスレイヤーまたはコントローラーに配置する方が適切ですか?私には4つの選択肢があると思います。
- モデル内のメソッドに含まれるロジック
- モデルに書き戻すコントローラーに含まれるロジック
- モデルが呼び出すサービスに含まれるロジック
- コントローラが呼び出すサービスに含まれるロジック
どちらがベストですか?3が最適な場合、循環依存関係はありませんか(私のモデルプロジェクトは、モデルプロジェクトに依存するサービスプロジェクトに依存しているため)?