[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: 「Javaオブジェクト設計」
佐藤@静岡です
#本はまだ読んでいません(さっさと読め>おれ)
On Tue, 17 Nov 1998 09:27:58 +0900
In <199811170027.JAA07512@xxxxxxxxxx>
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx> wrote:
> >「アクセッサメソッドの1つ1つについてinterfaceを定義するような」ことは
> >あまり意味が無いような気がします。
>
> このメリット、デメリットについて考えてみました。
>
> メリットですが、クラスが多数あるとき、必要なアクセッサーだけを実装すれば
> 良いということがあげられるでしょう。
> もし繰り返し現れるパターンがあれば、INameAdress のようにまとめてしまいます。
> また、同書の中に「プロキシーも含めて抽出する戦略」という節(p.87〜)があり、
> INameAdress を実装したクラス Person (人物)と Passenger (乗客) があるとき、
> 複数の INameAdress を保持するクラス NameAdressUI は、その保持するクラスが
> Person であっても Passenger であっても変更の必要がありません。
例があまり適切でないのでは(かといっておもしろい例をあげることはできま
せんが)
PersonとPassengerであれば
public class Person {
public String getName() {}
public void getName() {}
}
public class Passenger extends Person {}
public class PersonUI {}
のように考えられるので
Person、Passengerのように継承できる場合以外で Pluggableを実現するため
に INameのようなinterfaceを使用する必要があると・・・
interface INameの有効性がちょっと理解できたような気がします
> いちおう一通り読み終わりました。参考になったのはまず2章でしょう。
> 継承ではなくコンポジションが一般的だとCoadは言います。
> 継承に適するかどうかの5つのチェック項目はとても参考になります。
すみません、本を読めば分かることですが、コンポジションとはなんのことな
んでしょう?
どこかで見たような気はするんだけど・・・
JavaHouseの過去のメールで検索してもうまく見つからない
Compositeパターンと関係あるのでしょうか?
#はやいとこ読んでみよう
---------------------------------------------------------------
佐藤 宏輔 / Sato Kosuke
mail-to : cab05340@xxxxxxxxxx