デザパたん シーズン2 第3回 テンプレートメソッドパターン

0

前日準備の段階
ブログ書いたり、話したいことを考えたり

ina_ani@3歳児のパパ @ina_ani

よし #dezapatan 資料とりあえずできた。 この資料 明日は使わないことを祈ってる

2012-03-05 23:08:59
ぽり野郎 @polistes

テンプレートパターン。メソッドを実行する順番だけ書いておいて、それぞれのメソッドを記述すれば良いってサンプルをいくつか見かけた。なんかビルダーに似てる気がしたんだけど、どうなんでしょう? #dezapatan

2012-03-05 23:17:05
ぽり野郎 @polistes

アブストラクトクラスのユニットテストってどうやるの?普通のクラスみたいにできるの?? #dezapatan

2012-03-05 23:23:24
ぽり野郎 @polistes

extendsするのが継承で、内部に対象クラスを保持するのが委譲?後者はAdapterの香りがする。 #dezapatan

2012-03-05 23:26:44
ぽり野郎 @polistes

テンプレートメソッドパターンって委譲だと作れ…ない?様な気がしたんだけどどうなんでしょうね。 #dezapatan

2012-03-05 23:30:57
Issei Komatsu @isseium

構造を再利用するのが継承で、振る舞いを再利用するのが委譲? #dezapatan

2012-03-05 23:35:30
ぽり野郎 @polistes

プロトタイプパターンを勉強しないといけない電波を感じた! #dezapatan

2012-03-05 23:36:01
ぽり野郎 @polistes

抽象クラスを継承するんじゃなくて、必要なメソッドをインターフェイスで実装させて、具象クラスを受け取るようにしても同じ事できるよね。こっちがストラテジ? #dezapatan

2012-03-05 23:52:02
ina_ani@3歳児のパパ @ina_ani

単に関数にくくりだす以上のことができるけど 方向としては同じことをしてると思うんだ 重複コードの削除と 依存性の削除 #dezapatan

2012-03-06 00:34:33
ぽり野郎 @polistes

話したい話題:テンプレートメソッドと、ストラテジと、ビルダーの考え方の違い。 #dezapatan

2012-03-06 01:40:00
ぽり野郎 @polistes

話したい話題:プロトタイプもだ。 #dezapatan

2012-03-06 01:40:36

デザパたん開始

ぽり野郎 @polistes

ラーメンの作り方は店が変わっても同じ。でも店によっては味が違ったりするよね #dezapatan

2012-03-06 20:28:33
ぽり野郎 @polistes

シングルページのウェブページを作ることを 仮 定 する #dezapatan 仕事じゃないよ!

2012-03-06 20:29:11
ぽり野郎 @polistes

誤字のひどいサンプルコード #dezapatan

2012-03-06 20:32:52
ぽり野郎 @polistes

使わないことも考慮されてるメソッドは、デフォルトでエラーを吐く実装にしてある #dezapatan

2012-03-06 20:36:02
ぽり野郎 @polistes

メリット:実装が1つにまとまって全体の記述が減るよ #dezapatan

2012-03-06 20:39:52
ぽり野郎 @polistes

デメリット:処理をくくり出さないといけないから、例外処理は入れにくいよ。フックだらけになっちゃう。実装力が問われる #dezapatan

2012-03-06 20:40:51
ぽり野郎 @polistes

protectedにしておけば、子クラスからしか呼ばれなくなる。結合が緩くなる?実装を保証する先が少なくなるのか? #dezapatan

2012-03-06 20:45:48
ぽり野郎 @polistes

他クラスから呼び出すのであれば、委譲をした方がいい。 #dezapatan

2012-03-06 20:45:51
ぽり野郎 @polistes

継承はテンプレート、委譲はストラテジ。継承は静的、委譲は動的 #dezapatan

2012-03-06 20:48:47