PHPによるデザインパターン入門でデザインパターンを勉強しておくよ!
本には難しい事がかいてあるけど、これは非常にシンプルで、「Abstructクラスを作ってその下に複数の実装を作れるようにしたもの」をTemplate Methodパターンというらしい。コードを書くのもたるいくらい当たり前のアレですね。
PHP4なので、Abstructクラスで定義されたメソッドを強制する事はできないけど、Template Methodパターンを意図して作られたのが、EthnaのEthna_DB.phpとEthna_DB_PEAR.php。
PHP5ではabstructクラスとabstructメソッドが正式にサポートされているので、
abstruct class BaseClass
{
abstruct public function getData();
}
とか書いておくと、BaseClassをnewする事ができなくなり、かつ、BaseClassを継承したクラスでもgetDataメソッドが実装されてないと怒られるようになります。