<< 複雑さと戦う : ちいさなちいさなリファクタリング | main | 複雑さと戦う : データの入れ物 テーブル  >>

「リファクタリング」 もう一つの読み方

マーチンファウラーの「リファクタリング」はリファクタリングのパターン集ですが、例として使われているクラス図やソースコードの中身も興味深い。

・顧客と顧客タイプ
・従業員と従業員タイプ
・製品
・出荷
・価格と割引
・請求と請求タイプ

商品販売や出荷のドメイン(問題領域)でよくでてくるビジネスの知識やルールをドメインクラスとして実装する具体例として参考になる。

たとえば、顧客タイプやキャンペーン期間を元に割引率を変える、というルールを、どう実装するか?

どんな単位でデータやロジックをカプセル化するか。その場合、クラス名、メソッド名、フィールド名は、どんな名前のつけ方をしているか。

シンプルな例ばかりですが、ドメインの知識を「データとロジックをカプセル化」して実装する「ドメイン駆動設計」の良い具体例です。

「リファクタリング」にでてくるのは、ドメイン層のクラスばかりです。
Domain Model パターンの実装コードの例として参考になります。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
  • 番号より名前。 ニーモニックコードより名前。 【パターン】
    師子乃 (03/10)
  • Smart UI が優れている?
    masuda220 (03/10)
  • Smart UI が優れている?
    kagehiens (03/09)
  • オブジェクト指向プログラミングの教え方?
    masuda220 (12/05)
  • オブジェクト指向プログラミングの教え方?
    ZACKY (12/04)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    kompiro (08/14)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    JHashimoto (06/13)
  • 「オブジェクトの設計力」 スキルアップ講座やります
    masuda220 (02/28)
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM