GRASPパターン - Expertパターン(情報エキスパートパターン)AdvertisementExpertパターンが提唱するもの
Expertパターンは、オブジェクト指向での責務割り当ての基本を提唱している。オブジェクトに責務を割り当てる際に、その責務を満たすことができる情報を保持しているクラスに責務の割り当てを行う。
考察
オブジェクト指向のポイントのひとつであるカプセル化を意識して設計を行っていれば、Expertパターンを満たしていることが多い。これは「各クラスは必要な情報とその情報に対する操作が定義される」というカプセル化の原則と、Expertパターンが提唱している責務の割り当て方針が一致するためである。
メリット
ものすごく単純な例
以下のように、幅と高さの情報を保持している図形クラスがある
![]() 図1:図形クラス ここで「面積を管理する」という責務をどのように与えたらよいのか考える。面積を算出するには図形の幅と高さの情報が必要となる。Expertパターンを意識して設計を行った場合、必要な情報は図形クラスが保持しているため、面積管理の責務も図形クラスに与えることになる。 ![]() 図2:面積管理の責務を割り当てた図形クラス 以下に、責務を図形クラスに割り当てなかった場合の例を示す。 ![]() 図3:面積管理の責務を他のクラスに割り当てた場合(一例) 図からも読み取れるように、余計な関連が増えてしまっている。 Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ サイト検索Y!ログール |