次に,GRASPパターンを実際にどのように使うかを説明しよう。ここでは,クライアント・アプリケーションであるワープロ・ソフトを例に挙げる。ワープロ・ソフトではファイルの印刷を実行しようとすると,印刷方法を設定するためのウインドウが画面に表示される。このウインドウは,テキスト,ボタン,テキストボックスからなる。このウインドウがダイアログボックスだ。 この場合,テキスト,ボタン,そしてテキストボックスという3つのオブジェクトを「生成する」という責務は,どのオブジェクト(クラス)に割り当てるべきだろうか。候補としてダイアログボックス自体とクライアント・アプリケーションの2つが考えられる。 ここで役に立つのが「Creatorパターン」である。このパターンは,「オブジェクトを生成する責務を誰に(どのオブジェクトに)割り当てるか」を判断する場合に使う。パターンによる解決策は,「そのオブジェクトを集約ま