Post

designpattern

2017-10-01 16:13:11

PHPで学ぶデザインパターン...

Adapter パターンとは? API(互換性のないインターフェース)同士を適合させるためのパターンです。既存のコードの変更をせずに、再利用することで新しい機能を提供するというものです。再利用するコードには変更を加えないというのが特徴です。主にコードを再利用するためという後天的理由から成り立っているパターンです。(設計段階でラッパーを用意するパターンはBridgeパターンです。) 構造 ##TargetClassAPI(インターフェース)の定義をします。 AdapteeClass TargetClassに適合させる既存のAPIを提供します。 AdapterClass AdapteeClassの...

プログラミング

php adapter designpattern

2017-10-01 16:13:57

PHPで学ぶデザインパターン...

Singleton パターンとは? インスタンス生成のコストを制御するために、インスタンスが1つしかないことを保証するパターンです。 構造 SingletonClass priavateのコンストラクタとインスタンスを1つだけ返すstaticメソッドと自分自身のインスタンスを保持するためのstatic変数を用意するだけです。 メリット インスタンスへのアクセスを制御できる Singletonパターンが保持する自分自身へのアクセスをprivateに制限しているためクライアント側のコードからのアクセスを制御することができます。 インスタンス数を変更することができる 生成されるインスタンスの数を2つ...

プログラミング

designpattern php singleton

2017-10-01 16:14:48

PHPで学ぶデザインパターン...

Template Method パターンとは? 似たような処理を枠組み(型)としてスーパークラスで定義し、より具体的な処理内容をサブクラスで実装するというパターンです。単なる継承ではなく、具体的な処理内容を抽象メソッドとして定義することで、スーパークラスのメソッドの実装を保証し、クラスの振る舞いをサブクラスによって定義させる継承を利用したパターンです。 構造 AbstractClass 処理の枠組みを定義するクラスで、枠組みを定義するメソッド(template method)とそれを利用するメソッドを含みます。 ConcreteMethod AbstractClassを継承するサブクラスで、A...

プログラミング

designpattern php templatemethod

2017-10-01 16:17:16

PHPで学ぶデザインパターン...

概要 今は絶版になっているPHPによるデザインパターン入門を教科書にして、PHPでデザインパターンを学びます。(※Amazonで中古がありますが、定価の倍以上の値段が付いているようです。) 本連載で扱うコードはgithubにまとめていきます。 本来であれば、OOPの先駆けである言語でデザインパターンを学びたいところでしたが、PHP以外の言語の素養がなかったことと、PHPでデザインパターンを解説している本に出会ったことから、PHPでデザインパターンを学んでみることにしました。 参考    PHPによるデザインパターン入門    Do You PHP はてな   Github shimooka/P...

プログラミング

designpattern php oop