Recent changes

2013-04-14 2013-04-02 2013-02-17 2013-01-29 2013-01-20 2013-01-18 2012-12-08 2012-11-06 2012-09-04 2012-08-02

php/デザインパターン/Template Method

PHPによるデザインパターン入門でデザインパターンを勉強しておくよ!

Template Methodパターン

本には難しい事がかいてあるけど、これは非常にシンプルで、「Abstructクラスを作ってその下に複数の実装を作れるようにしたもの」をTemplate Methodパターンというらしい。コードを書くのもたるいくらい当たり前のアレですね。

PHP4なので、Abstructクラスで定義されたメソッドを強制する事はできないけど、Template Methodパターンを意図して作られたのが、EthnaのEthna_DB.phpとEthna_DB_PEAR.php。

Abstructクラスの作り方

PHP5ではabstructクラスとabstructメソッドが正式にサポートされているので、

abstruct class BaseClass
{
    abstruct public function getData();
}

とか書いておくと、BaseClassをnewする事ができなくなり、かつ、BaseClassを継承したクラスでもgetDataメソッドが実装されてないと怒られるようになります。