POSAでのカプセル化と情報隠蔽

ASIN:4764902834 P.389より

カプセル化(Encapsulation)
カプセル化は、構造と振る舞いをグループ化することによって1つの抽象物を定義し、異なる抽象物を互いに別物として分離する処理である。カプセル化によって、抽象間に明確な境界が与えられる。例えば。Forwader-Receiverパターン[304]では、プロセス間通信メカニズムの実装がカプセル化される。カプセル化は、変更容易性や再利用性という非機能的特性を実現するのに役立つ。

情報隠蔽(Information Hiding)
システムの複雑性を適切に扱い、かつ、コンポーネント間の結合度を最小にするために、コンポーネントの実装をクライアントから隠蔽するのが情報隠蔽である。コンポーネントを利用するにあたってクライアントが知る必要がない詳細部分に関しては、コンポーネントが隠蔽するべきである。カプセル化の原理が、情報隠蔽を実現されることが多い。Whole-Partパターン[221]では、この原理を使用して情報隠蔽を実現している。情報隠蔽を、インタフェースと実装の分離の減で実現することもできる。