次に,GRASPパターンを実際にどのように使うかを説明しよう。ここでは,クライアント・アプリケーションであるワープロ・ソフトを例に挙げる。ワープロ・ソフトではファイルの印刷を実行しようとすると,印刷方法を設定するためのウインドウが画面に表示される。このウインドウは,テキスト,ボタン,テキストボックスからなる。このウインドウがダイアログボックスだ。 この場合,テキスト,ボタン,そしてテキストボックスという3つのオブジェクトを「生成する」という責務は,どのオブジェクト(クラス)に割り当てるべきだろうか。候補としてダイアログボックス自体とクライアント・アプリケーションの2つが考えられる。 ここで役に立つのが「Creatorパターン」である。このパターンは,「オブジェクトを生成する責務を誰に(どのオブジェクトに)割り当てるか」を判断する場合に使う。パターンによる解決策は,「そのオブジェクトを集約ま
オブジェクト指向設計では,適切なクラスに適切な役割(責務)を割り当てることが肝心である。設計作業中に遭遇するさまざまな選択肢から,対象となるシステムに応じて最適な判断を下す必要がある。ここでは,判断のよりどころとして有効な手法である「GRASPパターン」を紹介する。 読者の中には,実際に日々の業務の中で,オブジェクト指向設計に携わっているITエンジニアも多いことだろう。そういう人たちへ質問がある。明確な方針を持って設計を行っているだろうか。「言われてみれば,あまり意識したことはないな」という人が,案外多いのではないだろうか。 オブジェクト指向設計とは,システムに対する様々な条件や制約を考慮し,オブジェクトの最適な役割と,複数のオブジェクトの役割について協調関係を構築していく作業である。役割とは,「オブジェクトが果たすべき機能」のことで,オブジェクト指向では「責務(Responsibilit
GRASPとは、General Responsibility Assignment Software PatternあるいはPrinciple(汎用的責任性割り当てパターン/原則)の頭字語であり、オブジェクト指向設計に向けた九つの原則セットまたはパターンセットである[1]。計算機科学者クレーグ・ラーマン(英語版)の1997年著作「実践UMLパターン -Applying UML and Patterns-」で初めて紹介されている[2]。 「ソフトウェア開発において決定的な設計ツールになるのは、設計の原則の中で磨き上げられたメンタルであって、UMLやその他のテクノロジーではない」がラーマンの主張であり[3]、GRASPとはオブジェクト指向開発を助けるためのメンタルツール(mental tool)であると定義している[1]。 質問:オブジェクトに責務を割り当てる原則とは何か? 回答:その責務を全
コンテンツ 第1章 基本的な用語 第2章 オブジェクト指向開発 第3章 設計の問題し 第4章 オブジェクト指向設計の原則 第5章 単一責任の原則 第6章 Visitor パターン 第7章 LSP、DIP、ISP 第8章 パターン技術 第9章 ユースケース 第10章 実例 第1章 基本的な用語 第2章 オブジェクト指向開発 オブジェクト指向開発 オブジェクト指向分析 機能外要求 User インタフェース Student クラスとTeacher クラス Student クラスのソースコード Teacher クラスのソースコード 演習2-1 UserLocator クラスのソースコード 演習2-2 演習2-2 の解答 Teacher.java UserLocator.class 第3章 設計の問題 演習3-1 演習3-1 の解答1(返却値を利用した方法) 演習3-1 の解答2(条件分岐による方
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く