[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] 読書会のホワイトボード内容
石黒です。
読書会で、高橋智宏さんがホワイトボードに書いた内容を
デジカメから起こしましたので以下に掲載します。
---------------
第1回目
序文(本書の全体的な説明)
・コンポジションの定義 <−−−−−−−> 継承の定義
・コンポジションとは、...
「追加のオブジェクトに機能を委譲することによって
責務を拡張する」ということ
・責務を拡張するとは?
・「委譲」と「関連」のちがい?
・「継承」を使う必要性は?
・java.awt.Frameを拡張するとき
・ライブラリ作成とアプリケーションの作成では違いが
あるはず
・業務コーディングには必要!
1章(チャーリーズチャーター社)
・アクティビティの定義 <−−−−−−−> 手順
・5個の主要なアクティビティ
・システムの目的と機能を識別する
・クラスを選択する
・UIをスケッチする
・シナリオをもとに動的な側面を見極める
・オブジェクトモデルを構築する
・「UI」などの略語の説明...
・「問題領域(PD)」とは?
・例題の業務の知識が必要?
・UIクラスとPDクラスとMVC
・UI場の用語の意味?
選択しなど
・シナリオビューのフォーマットの説明は?
(第2版ではUML表記)
・コンポーネントという用語の意味は?
・PersonとPassangerは1対nの接続になっているが、
これがコンポジションなのか?
・P.Coadの表記法<−−−−>UML表記法
・オブジェクトを表す線の説明
・オブジェクト接続はテキストによって示されている
(メソッド、属性の命名規則)
第2回目
1章(ゾーズ・ゾーン社)
・センサーのモニタリングシステムの具体的な内容の説明は?
・全体的に内容が分からない
・問題の間隔(Problem Interval)の意味?
・問題が発生してから修復するまでの時間のことか...
・オブジェクト接続に明示的な「型」の属性は必要としない?
・"extends Object"という表記の意義は?
(第2版ではカットされている)
・インタフェースのパラメータには、組み込み型を利用して、
制限を設けないほうが良い
2章(継承ではなくコンポジションを利用した設計)
・コンポジションとは、「・・・・責務を拡張する」
・責務とは?
・CRCという設計技法(カードを使う)
自分がオブジェクトになった気持ちになって!!
・スーパークラスとそのサブクラスとの間ではカプセルかが弱
い!!(スーパークラスの変更がサブクラスに波及する)
・継承の使用に適した場合は?
・継承を使うべきかどうかのチェックポイント(5つ)
(is-aの関係にあるかどうかということか?)
・ユーティリティクラスとは?
・継承とコンポジションの両方を使う場合
(Decorator)パターンを使った別案もある
・Threadクラスはユーティリティなので継承させない!!
(複数のスレッドを所有できる)
・Appletは継承に適している
・スーパークラスのメソッドをサブクラスで拡張するの
だから問題ない
・Observableは継承に適していない!!
第3回目
3章(インターフェースを利用した設計)
・インターフェースとは「メソッドシグニチャの集合」である
・メソッドシグニチャの説明は?
(引数と戻り値の仕様のことか)
・インターフェースの重要性 −−−> プラグ接続性
・プラグ接続性 = コンポジションが、インタフェースを
実装するクラスからなる
・コンポジションの訳としては、合成、複合というものもある
・インターフェースが役立つ場面
「4つの主要なコンテキスト」
・自分が実装するのではなく、他が実装してくれるのを期待し
て、インターフェースを作成する!!
・リピータを抽出する
・繰り返し登場するメソッドを抽出する手順事態がそも
そも変?
・細かなインターフェースを作成してから抽出する手順
はどうか?
・大画面でCASEツールを使うのであれば効果的だろう
・プロキシを含めて抽出する
・類似したアプリケーションのために抽出する −|
・将来の拡張に備えて抽出する −|−>例題
が不適切!
・「プロキシ」とは別のオブジェクトに変わって質問に答え、
便利なインターフェースを提供する
・P95にまとめの記述がある(重要!!)
------------
以上