2012-01-07 9 views
1

複合パターンは、オブジェクトをツリー構造に構成して部分全体の階層を表現することを可能にします。複合パターンは、クライアントが個々のオブジェクトとオブジェクトの構成を一様に扱うことを可能にします。個々のオブジェクトとオブジェクトの構成を一様に扱うことが何を意味するのかについての説明が必要です。複合パターンの定義

答えて

1

これにより、オブジェクトのグループを1つのエンティティとして扱うことができます。複合パターンは図や例を

Wikipediaは非常によく例を説明...オブジェクトのグループは、オブジェクトの単一のインスタンスと同様に を処理すべきであることを説明し

ここで複製するにはあまりにも多いコードです。

9

複合パターンは、パーティション設計パターンです。
複合パターンは、group of objectsobjectの単一インスタンスと同じ方法で処理されることを記述します。コンポジットの目的は、部分全体の階層を表すためにツリー構造に「を作成する」オブジェクトになります。コンポジットパターンを実装することで、クライアントは個々のオブジェクトやコンポジションを一様に扱うことができます。
enter image description here
クライアントがobjectsindividual objectscompositions差を無視する必要があるときコンポジットを使用することができます。プログラマーが複数のオブジェクトを同じ方法で使用していることがわかり、それぞれのコードを処理するコードがほぼ同じであることが多い場合は、コンポジットが良い選択です。この状況では、プリミティブとコンポジットを均質として扱うことはあまり複雑ではありません。

0

私は例を挙げて理解しようとします: 他のどのような組織も従業員とマネージャを持っているとします。オフコースでは、管理者は複数の従業員をその下に置くことができます。 複合パターンを使用してアプリケーションを設計しようとすると、マネージャはその下に従業員のリストを持つ複合オブジェクトになります。 あなたの質問に対する答えは - マンガは合成物ですが、共通の行動をとっているので従業員として扱われる必要がありますか? これが役立つことを願っています。

関連する問題