GRASP
質問:構成の変化を前提にしたオブジェクトたちが、自身の変化による他者への影響波及を回避するには、どのようにオブジェクトを設計するべきか?
回答:オブジェクトの変化する構成の箇所を特定した上で、その箇所をカバーするための不変構成のインターフェースを用意するべきである。
このパターンは、周辺の要素(オブジェクト、システム、サブシステム)の変動から注目する要素を保護するために、不安定な部分をインタフェースを用いて収束させ、ポリモーフィズムを用いてインターフェイスを実装させる。
質問:どのように型のすげ替え部分を扱うべきか?どのようにすげ替え可能なコンポーネントを作るべきか?
回答:型別の動作のすげ替えならば、同じ動作名義に対してオブジェクト別の異なる動作内容を結合できるポリモーフィックな型を用意するべきである。
このパターンは、型に基づいて振る舞いの変動部分を定義する責務を、変動が起きる型に割り当てる。これは、ポリモルフィックな操作を持たせることで実現できる。