PHPデザインパターン~オブジェクト指向でのソフトウェア開発に於ける再利用可能な設計パターン集~
ソフトウェア開発におけるデザインパターンとは、オブジェクト指向での開発を行う際に用いられる再利用可能な設計パターンです。
ソフトウェア開発におけるデザインパターンとは、オブジェクト指向での開発を行う際に用いられる再利用可能な設計パターンです。
Interpreterパターン(インタプリタ・パターン)は、振る舞いに関するデザインパターン手法の1つで、ある機能の「規則」を1つのクラスとして表現し振る舞いを定義する事で、機能拡張を容易にする処理モデルです。
Commandパターン(コマンド・パターン)は、振る舞いに関するデザインパターン手法の1つで、ある機能に於いて処理の対象・要求・管理の関係性を築く事で、柔軟な処理の取り回しを行える処理モデルです。
Proxyパターン(プロキシ・パターン)は、構造に関するデザインパターン手法の1つで、主クラスの代理クラスを同一インターフェイスで実装する事で処理を委譲し、省リソース化や処理の取り回しを調整できる処理モデルです。
Flyweightパターン(フライウェイト・パターン)は、構造に関するデザインパターン手法の1つで、同一のインスタンスを再利用する事でリソースを節約する処理モデルです。
Stateパターン(ステート・パターン)は振る舞いに関するデザインパターン手法の一つで、1つの状態を1つのオブジェクトとして表現し、状態の変更をシンプルに構築できる処理モデルです。
Mementoパターン(メメント・パターン)は、振る舞いに関するデザインパターン手法の1つで、オブジェクトの状態をスナップショットとして保存しておく事で、必要な時のその状態をリストアできる処理モデルです。
Observerパターン(オブザーバー・パターン)は、振る舞いに関するデザインパターン手法の一つで、状態変化を関連オブジェクトに通知し、付随する処理を行う関係を築く事で、各オブジェクトの依存性を切り離し、再利用性を高める処理モデルです。「出版(publication)-購読型(subscription)モデル」とも言われます。
Mediatorパターン(メディアター・パターン)は振る舞いに関するデザインパターン手法の1つで、オブジェクト同士の無秩序な相互参照を一極集中型にする事で、シンプルかつメンテナビリティ(保守性)の高いインターフェイスを実現する処理モデルです。
Facadeパターン(ファサード・パターン)は、構造に関するデザインパターン手法の一つで、サブシステムをまとめその窓口となるクラスを作成する事で、複雑な一連の処理を意識する事なくシンプルにその機能を利用できる処理モデルです。
Chain of Responsibilityパターン(チェイン・オブ・レスポンシビリティパターン)は、振る舞いに関するデザインパターン手法で、同一レベルの処理クラスをチェインする(鎖状につなげる)事で、一定の規則に対応した連鎖的な処理を実現できる処理モデルです。
Visitorパターンは、振る舞いに関するデザインパターン手法で、機能(クラス)の持つ役割を分離する事でそれぞれの利用・機能拡張を容易にする処理モデルです。
Decoratorパターン(デコレーター・パターン)は、構造に関するデザインパターン手法の一つで、基となるオブジェクトとそれを装飾するオブジェクトを同一のレベルで扱えるような関係性を築く事で、より柔軟なパラメータの取り回しや機能拡張を実現できる処理モデルです。
Compositeパターンは構造に関するデザインパターン手法の1つで、入れ物とその中身を同一のものと取り、再帰的な構造での取り扱いを簡単にする処理モデルです。
Strategyパターン(ストラテジー・パターン)は、振る舞いに関するデザインパターン手法の1つで、戦略部分(アルゴリズム等)をクラス単位で定義(カプセル化)する事で、その切り替えや追加・拡張を容易にする処理モデルです。
Bridgeパターン(ブリッジ・パターン)は、構造に関するデザインパターン手法の1つで、ブリッジ=橋、つまり「橋渡し」を行うクラスを挟む事で構造の効率化を図る事のできる処理モデルです。
AbstractFactoryパターン(アブストラクト・ファクトリ・パターン)は「抽象的な工場」を意味する通り、関係するオブジェクトたちを”まとめて”生成する為のデザインパターン手法の一つです。
Builderパターンはオブジェクトの生成方法に関する処理モデルです。オブジェクト生成の流れを抽象化する事で、オブジェクトの生成を柔軟にします。
Prototypeパターンは、オブジェクトの生成に関するデザインパターン手法の1つで、インスタンスの複製に関する処理モデルです。プロトタイプ、つまりは「原型」。既にある型を利用して効率的にインスタンスを回していく手法になります。
Singletonパターンは、インスタンスの生成制御に関するデザインパターン手法の1つで、インスタンスが1つしかない事を保証します。