[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