Template Method パターンの履歴
子クラスに専用のコードを書いて、親クラスはそれを呼ぶ。親は子がやってることは知らなくても良い!
継承の利点を最大限に使ったデザインパターン。
継承しなければならないので、ある程度密結合にはなる。継承する必然性があるかどうかを考えてから取り入れる。
PHP
abstract class Person{ function hoge(){ $this->someProc(); $this->specialCase(); $this->someProc(); } abstract function specialCase(); } class Akkun extends Person{ function specialCase(){ echo "this is akkun class"; } } class Hirokun extends Person{ function specialCase(){ echo "this is hirokun class"; } }