デザパたん シーズン2 第5回 コンポジットパターン

デザインパターン勉強会 シーズン2の第5回 コンポジットパターン 担当は @polistes ブログ http://dezapatan.g.hatena.ne.jp/polistes/20120311
1

デザパたん シーズン2 第5回 コンポジットパターン
デザパたん はてグ

ぽり野郎 @polistes

コンポジットパターン。階層構造を作るためパターン、でいいの? #dezapatan

2012-03-21 20:04:41
ぽり野郎 @polistes

容器と中身を同一視して再帰的な構造を作るパターン。マトリョーシカって階層構造? #dezapatan

2012-03-21 20:06:58
ina_ani@3歳児のパパ @ina_ani

大事なインターフェースなので日本語名です #dezapatan

2012-03-21 20:12:11
Yuji Sato @kuidaoring

大事なことなので日本語で書きました #dezapatan

2012-03-21 20:12:51
ぽり野郎 @polistes

インターフェイスって@Overrideできるの? #dezapatan

2012-03-21 20:13:28
ina_ani@3歳児のパパ @ina_ani

水槽のなかに水槽のなかに水槽がはいる #dezapatan

2012-03-21 20:19:13

適当なコンポジットパターン紹介終了
おまけの話

ina_ani@3歳児のパパ @ina_ani

イテレータを組み込んでみよう ! #dezapatan

2012-03-21 20:24:12
ぽり野郎 @polistes

コンポジットのどれかにアクセスする場合はどうすればいいの?getChild作るとか。 #dezapatan

2012-03-21 20:29:00
ぽり野郎 @polistes

そもそも特定の要素にアクセスする機会がないんじゃないか #dezapatan

2012-03-21 20:29:32
ぽり野郎 @polistes

帳簿の例がどこかにあった。年->月->日->帳簿。これは再起構造になってないじゃないか。でもサマる時にはどこからでもサマれる。 #dezapatan

2012-03-21 20:32:48
ぽり野郎 @polistes

DOMツリーも再起構造だよね?ブラウザ側がレンダリングするときに再帰的に処理をしてるかも。とりあえず、コンポジットでもかけるよね。 #dezapatan

2012-03-21 20:36:25
ぽり野郎 @polistes

あんまり使う機会がない。 コンポジットたん。 #dezapatan

2012-03-21 20:38:12

他のパターンとの関連とか

ぽり野郎 @polistes

BufferedReaderとかのcloseメソッドも再帰的にcloseしてくれるけど、これとは違うもの?階層にはなんないよねー。 #dezapatan

2012-03-21 20:42:13
ぽり野郎 @polistes

今の話はむしろデコレータ。クラス図はそっくりで、2つのコンポネンとをデ #dezapatan コレートすればそっくり。

2012-03-21 20:43:10
ぽり野郎 @polistes

機能と構造だから、クラス図が似てるとかあんまり関係ないかもね #dezapatan

2012-03-21 20:43:48