タグ

2009年7月22日のブックマーク (1件)

  • 法則に違反したっていいじゃない - zakio.net

    オブジェクト指向プログラミングにおける有名な法則の一つにデメテルの法則 (Law of Demeter, LoD) というものがある。これは、簡単に言えば「戻り値として返されたオブジェクトのメソッドを呼び出してはいけない」という法則であり、例えば次のようなコードを書くと、「それ、デメテルの法則に違反しているよ」などと言われたりするので注意が必要だ。 int id = projects.Find(projectName).GetID(); // プロジェクト名から ID を取得 そして、このコードをデメテルの法則に違反しないように書き換えると、次のようになる。 int id = projects.GetID(projectName); // プロジェクト名から ID を取得 変更後のコードは Find が返すオブジェクト(ここでは多分 Project みたいなクラス)に依存していないので、オ

    pipehead
    pipehead 2009/07/22
    デメテルの法則