Index: [Article Count Order] [Thread]

Date:  Fri, 2 Mar 2001 19:04:16 +0900
From:  "太田 健一郎" <oota_ken@....com>
Subject:  [XP-jp:01679] Re: XP で再利用できますか?
To:  <extremeprogramming-jp@....jp>
Message-Id:  <OE51IdgO3RQppHHMnRi000016d9@....com>
References:  <00c501c0a2cb$914828a0$640aa8c0@....jp> <20010302085203936.AAA229@....jp@ginza>
X-Mail-Count: 01679

 早稲田大学の太田です。

 寺田さんと長谷川さんのお話が興味深いのでちょっと参加させていただきま
す。

 XPとはあまり関係なくなってしまうかもしれません。

 長谷川さんとは直接お会いして何度かお話を聞いたことがあるのですが、長
谷川さんの仰る再利用というのは建築におけるパターン・ランゲージの概念を
作り上げたアレクサンダーの言う「パターンの再利用」のことだと思います。
そして、アレクサンダーはパターンは部品ではなく、ほかのパターンとの関係
を含む複合的な領域(Coplienの言うdomain?)であると述べています。アレクサ
ンダーは規格部品の利用には徹底して反対しており、それは居住者が望む本当
に自然なもの(「無名の質」をもったもの)を作ることが出来ないという理由か
らです。
 パターンは変換のルールであり、自由に形を変えることが出来るが、一度
「部品」になってしまうと柔軟性を失い、設計が部品に支配されるという本来
意図したものと逆の状況が起きてしまいます。ですから、ドメインスペシ
フィックなフレームワークがいくら柔軟性を持たせて頑張ろうとしても自然な
形を取ることが出来ず、むしろ緩やかなパターンによって設計を行い、その最
終工程で部品を使うというのが望ましいということではないでしょうか。

 一方、寺田さんの仰る部品の再利用の有効性についても私は理解できます。
一利用者の観点からもJava APIのような洗練されたフレームワークを用いる
と、低レベルの実装に惑わされることなくスムーズに設計、プログラミングを
行うことが出来ます。
 ただ、このレベルで言う部品は実務のレベルでは非常に下の部分であると思
います(私も学生なのでたいしたことは言えませんが)。寺田さんの仰った
VectorやListという下位レベルのオブジェクトはビジネスモデルを作り上げる
段階ではどうでも良いとは言いませんが、それほど気にはとめないものです。
長谷川さんが仰られたのはこのビジネスモデルのレベルにおいて部品としての
再利用はあきらめたほうが良いということではないでしょうか。このレベルの
オブジェクトを再利用部品にすることは建築で言えば、既成のシステムキッチ
ン、システムバスのようなものであり、例え実現できても利用者の要望を満た
すものからは程遠いものになる可能性があります。

 現実的には分析、設計レベルでの再利用はXPのようにメタファーを用いる
か、変換のルールであるパターンを用いるか言うことになるのではないかと思
います。また、現実のソフトウェア業界はアレクサンダーが言うほど完全に自
然なものを目指しているわけではありませんから、ある程度の部品の再利用は
部品が仕様を支配するという逆転現象が起きない限りは許されるのではないで
しょうか。

早稲田大学大学院理工学研究科情報科学専攻M2 太田健一郎
E-Mail Address oota@....jp
               oota@....jp