-
カプセル化
単なるデータ隠蔽ではなく、あらゆる種類の隠蔽を含んでいる。
必要な機能のみを持たせ、外からの変更を完全に遮断するためにprivateがある。
-
クラス図
-
is-a関係:あるクラスが他のクラスの「一種」である
-
has-a関係:あるクラスが他のクラスを「保持」している
-
uses-a関係:あるクラスが他のクラスを「使用」している
-
Facade(建物の正面)
-
メソッド呼出しを使用してより簡潔なインタフェースを提供する目的と、クライアントとオブジェクト間のやり取りを削減する目的を持つ。
-
システムを隠蔽する、もしくはカプセル化するためにも使用される。
-
どんなときに使うか
-
複雑なシステムがあり、その全機能を使用する必要がなく、かつシステムの利用規則を全て取り込んだ新規クラスを生成できる場合。
必要な機能が既存システムの部分集合である場合、新規クラスのAPIはそのシステムのAPIよりもずっと簡単になる。
-
既存システムをカプセル化、あるいは隠蔽化したい場合。
最終更新:2015年03月22日 17:28