感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Factory MethodとAdapter

<スポンサーリンク>

Factory Method

Factory Methodとは、オブジェクトを生成するときのインターフェースだけを規定して、実際にどのクラスをインスタンス化するかはサブクラスが決めるようにする。
Factory Methodパターンは、インスタンス化をサブクラスに任せるデザインパターンである。
その名のとおり、インスタンス生成工場である。

Factory Methodを使うことで何がいいの?

・オブジェクトの生成処理とオブジェクトを使用する側を分離できる。
つまり、あるオブジェクトを作るのに、newを書かなくて済む。
すなわち、クラス名を直接書かずに済む。
new クラス名とね。
そうすると何がいいかって、使う側と使われる側の結びつきがゆるくなる。

Productクラス:Factoryで生成されるオブジェクトのAPIを定義するクラス
ConcreteProductクラス:Productクラスで定義されたAPIを実装したクラス
Creatorクラス:オブジェクト生成メソッドを提供するクラス。Product型のオブジェクトを返す。
ConcreteCreatorクラス:Creatorクラスを継承したサブクラス。ConcreteProductクラスのインスタンスを返す。

Adapter

Adapterとは「適合させるもの」という意味。
システム開発にエンハンスや保守はつきものだ。
大規模で影響の大きいシステムでは、動いているものはあまり変えたくない、というか、テスト済のクラスを変更したくないものだろう。

Targetクラス:clientが要求するAPIを提供する。
Adapteeクラス:AdapterクラスよってAPIを変更される側のクラス。元々ある具体的な処理を提供するクラス。
Adapterクラス:Adapteeが提供するAPIをTargetが提供するAPIに変換するクラス。

Adapterをかぶせて、Adapteeのメソッドを再利用しようね、しかも、APIは「使い手」が見てるTargetのAPIに合わせてね、ということである。
Adapterは調整役のようなもの。

・PHPでファイルを読み込めるか確認する

 if (!is_readable($filname)) {
 	throw new Exception('file [' . $filename . '[ is not readable.');
 }

勉強した本

PHPによるデザインパターン入門

PHPによるデザインパターン入門

PHPの勉強もしたいけど、ただPHPの文法とか勉強するのはなんかもったいない。どうせならオブジェクト指向も身に付けたい。
そんなニーズにぴったり合った本。

感謝のプログラミング

今回で感謝のプログラミングは【400時間目】
10000時間まで、あと【9600時間】
コードをたくさん書けて気分がよい。
会社でもっとコーディングできたら、もっといいんだけれど。