Index: [Article Count Order] [Thread]

Date:  Sat, 16 Aug 2003 16:22:51 +0900
From:  Kenji HIRANABE <hiranabe@....jp>
Subject:  [XP-jp:04609] Re: 責務,変更,シンプル (was Re: 「 	An ExtremePro)grammingEpisode 」の翻訳版を
To:  extremeprogramming-jp@....jp
Message-Id:  <3F3DDBCB.E079137E@....jp>
References:  <200308151325.JIC76439.ONVUBV@....jp> <3F3DB7D0.172FDF38@....jp> <20030816160024.00A9.AKASAKA.H@....com>
X-Mail-Count: 04609

平鍋です.
まずは,こちらから.

Hidehiko AKASAKA wrote:
> Akira Kawamata <autumn@....jp> san wrote:
> 
> >  個人的な感想から言うと、「自然な役割分担」と思う状態は個人によって差が
> > あって、誰もが曖昧さなく納得するのは難しいような気がします。「シンプル」
> > というのは、「重複がなく、これ以上リファクタリングすべきコードが残ってい
> > ない」と言い換えれば、達成したかどうかが誰でも同じ基準で納得できるような
> > 気がします。
> 
> Kenji HIRANABE <hiranabe@....jp> san wrote:
> 
> > (A)現実の世界と直接対応【Direct Mapping Principle】(by Meyer)
> > (B)シンプルである(直接対応でないが,簡単である)(by Beck)
> >
> > という2つの分担方針があるか,と思います.どちらの場合にも当てはまる,
> > 責務分担の原則は,次に原則に照らして評価できます.
> 
> 川俣さんのシンプルが(B)に対応するのだと思いますが、
> 
> 「シンプル」で、かつ「自然な役割ではない」
> 
> というケースを想定できないということです。
> 「シンプル」に作ったものは「自然な役割」に落着いているのではないかと。

以前,Kent Beck に矢崎さんが果敢に試みた有名な質問があります.

「ユーザ情報」クラスに「電話番号」がある場合電話クラスを作りますか?

class User { String telephoneNumber; }

が Kent Beck のシンプルな回答.

class User { Telephone telephone; }
class Telephone { String number; public void call(); }

が現実世界に近いモデリングかな.これについてどう思いますか?

ちなみに,羽生田さんの回答は,
「Kent Beckにモデリングの質問をしてはいけない」 ^^;

以上