違いは何ですか
- 単純なフィールド アクセサー ミューテータークラス
- 豊富なモデル化されたクラス
ビジネス ドメイン クラスのリッチ モデリングを構成する要素は何ですか?
違いは何ですか
ビジネス ドメイン クラスのリッチ モデリングを構成する要素は何ですか?
ここで使用されている「リッチ」は、(状態ではなく) 「リッチな動作」を意味します。
技術的な動作とドメインの動作があります。アクセサーとミューテーターは技術的なものです。彼らには、ビジネス上の利益を定義する「理由」が欠けています。
ドメイン オブジェクトは「理由」を表し、「方法」をカプセル化します。実際、すべてのオブジェクトがそれを行います。ドメインオブジェクトは、特にビジネス価値のためにそれを行います。
たとえば、従業員ドメイン オブジェクトとして、休暇を申請する必要があるとします。次の 2 つのオプションがあります。
モデル 1 はリッチです。「なぜ」(休暇時間) は「どのように」(スケジュールをマークする) をカプセル化します。
モデル 2 は、マネージャーを単純なプロパティ バッグに格下げし、スケジュールの抽象化を漏らします。
ビジネス ロジックがビジネス オブジェクトにカプセル化されている場合。つまり、別のビジネス ロジック レイヤーを必要とせずに、ビジネス オブジェクト (ドメイン モデル) レイヤーを使用できます。