[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: 「Javaオブジェクト設計」



>「アクセッサメソッドの1つ1つについてinterfaceを定義するような」ことは
>あまり意味が無いような気がします。

このメリット、デメリットについて考えてみました。

メリットですが、クラスが多数あるとき、必要なアクセッサーだけを実装すれば
良いということがあげられるでしょう。
もし繰り返し現れるパターンがあれば、INameAdress のようにまとめてしまいます。
また、同書の中に「プロキシーも含めて抽出する戦略」という節(p.87~)があり、
INameAdress を実装したクラス Person (人物)と Passenger (乗客) があるとき、
複数の INameAdress を保持するクラス NameAdressUI は、その保持するクラスが
Person であっても Passenger であっても変更の必要がありません。

デメリットはやはり interface 数が多くなることでしょうね。
でもこの interface 群は汎用または準汎用ののユーティリティークラス
として抽出することが多いので、適切な package としてまとめることで
管理しやすくすることはできると思います。

>「Peter Code の Java オブジェクト設計」を読んでみようと思いますが、

 http://www.mmjp.or.jp/prentice/washo/object/wa_objint01-j.html から
引用します。

 >                    Peter CoadによるJavaオブジェクト設計
 > 
 > P・コード+M・メイフィールド 著、依田智夫+依田光江 訳、今野 睦 監訳
 > 
 > 
 > オブジェクト指向の大家であり、オブジェクト指向の分析/設計の書も書いている
 > ピーター・コードによる、Javaの言語特性を生かす設計手法について述べています。
 > 付属のCD-ROMには、Strategies and Patterns Handbook
 > (オブジェクト指向の177個の戦略と31個のオブジェクトモデルパターンを
 > 包括的にまとめたもの)のハイパーテキスト版が収録されています。 
 > ・・・・・目次・・・・・ 
 > 
 >       第1章 例題による設計 
 >       第2章 継承ではなくコンポジションを利用した設計 
 >       第3章 インタフェースを利用した設計 
 >       第4章 スレッドを利用した設計 
 >       第5章 通知を利用した設計 
 >       付録A 設計上の戦略 
 >       付録B 表記法のまとめ 3 
 >       付録C Javaのスコープ 
 > 
 > 
 > 1997年11月発行/223ページ/B5変形/本体価格: 3,000円
 > 
 > 【出版元】プレンティスホール出版ISBNコード:4-89471-014-5 

いちおう一通り読み終わりました。参考になったのはまず2章でしょう。
継承ではなくコンポジションが一般的だとCoadは言います。
継承に適するかどうかの5つのチェック項目はとても参考になります。 

他の関連 URL も紹介しておきます。

 http://www.synergy-res.co.jp/jBook01.html (日本語)
 http://www.oi.com/jd-book.htm             (英語)
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008