Composite Pattern
2017/10/02
Composite Pattern自体は古典的なパターン。
ツリー構造を表現する時に使われます。
リンク集のカテゴリーで、ここだけカテゴリーを細分化したい、最初からカテゴリーの階層の深さを設定したくない、と言う時にお世話になりました(デザインパターンを意識して利用した初めてのケースだったかも)。
カテゴリーとページに共通のインタフェイスILinkItem(パス、タイトル、公開フラグ…)を持たせ、カテゴリーはILinkItemを子供にすることができる。
↓
カテゴリー(枝)にサブカテゴリー(枝)を追加することもページ(葉)を追加することもできる。
(容器(枝)と中身(葉)の同一視)
PrismにおけるComposite
馴染みのあるパターンだしRegionが器(Composite)でViewが葉(Leaf)かと思いましたが探しきれず。Compositeの意味が違うのかと思いましたが、ここを読むとGoF本のCompositeで間違いなさそうだし。確認しろと言われているShell.xamlはこちら。XAMLみて構造分かるほどXAMLに精通してないし、挫折しそうな予感。とりあえず次ぎ行きましょうか。