マーチンファウラーの「リファクタリング」はリファクタリングのパターン集ですが、例として使われているクラス図やソースコードの中身も興味深い。
・顧客と顧客タイプ
・従業員と従業員タイプ
・製品
・出荷
・価格と割引
・請求と請求タイプ
商品販売や出荷のドメイン(問題領域)でよくでてくるビジネスの知識やルールをドメインクラスとして実装する具体例として参考になる。
たとえば、顧客タイプやキャンペーン期間を元に割引率を変える、というルールを、どう実装するか?
どんな単位でデータやロジックをカプセル化するか。その場合、クラス名、メソッド名、フィールド名は、どんな名前のつけ方をしているか。
シンプルな例ばかりですが、ドメインの知識を「データとロジックをカプセル化」して実装する「ドメイン駆動設計」の良い具体例です。
「リファクタリング」にでてくるのは、ドメイン層のクラスばかりです。
Domain Model パターンの実装コードの例として参考になります。
・顧客と顧客タイプ
・従業員と従業員タイプ
・製品
・出荷
・価格と割引
・請求と請求タイプ
商品販売や出荷のドメイン(問題領域)でよくでてくるビジネスの知識やルールをドメインクラスとして実装する具体例として参考になる。
たとえば、顧客タイプやキャンペーン期間を元に割引率を変える、というルールを、どう実装するか?
どんな単位でデータやロジックをカプセル化するか。その場合、クラス名、メソッド名、フィールド名は、どんな名前のつけ方をしているか。
シンプルな例ばかりですが、ドメインの知識を「データとロジックをカプセル化」して実装する「ドメイン駆動設計」の良い具体例です。
「リファクタリング」にでてくるのは、ドメイン層のクラスばかりです。
Domain Model パターンの実装コードの例として参考になります。