#デザインパターン
13 件の記事
Singletonパターンはなぜアンチパターンなのか
シングルトンパターンはなぜアンチパターンだと言われるのかについて、具体的なGoのコード例を交えて解説する記事です。最もよく知られ広く使われるパターンの1つでありながら、クリーンコードや保守性の観点で抱える問題点を整理し、依存性の注入といった代替となる設計を紹介します。
Template MethodパターンとStarategyパターンについて
GoFの振る舞いに関するデザインパターンである、Template MethodパターンとStrategyパターンの違いについてまとめた記事です。大枠の処理を上位クラスで決めて具体的な流れを下位クラスに任せる継承ベースの手法と、戦略を差し替える委譲ベースの手法を比較し、それぞれの実装と使い分けを解説します。
PHPで学ぶデザインパターン - Stateパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Stateパターンを取り上げます。状態ごとの処理をそれぞれ別のクラスにカプセル化することで、状態に応じた振る舞いの切り替えを条件分岐に頼らず実現するこのパターンの仕組みと、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Adapterパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Adapterパターンを取り上げます。互換性のないインターフェース同士を適合させ、既存のクラスに手を加えることなく再利用できるようにするこのパターンの仕組みと、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Bridgeパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Bridgeパターンを取り上げます。機能の拡張と実装の拡張という2つの階層を分離し、それぞれを独立して拡張できるようにするこのパターンの考え方と、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Mediatorパターン
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Mediatorパターンを取り上げます。複雑になりがちなオブジェクト同士のやり取りを仲介役(Mediator)に集約し、オブジェクト間の関係の見通しを良くするこのパターンの仕組みと、PHPでの実装方法を解説します。
PHPで学ぶデザインパターン - Strategy
「PHPで学ぶデザインパターン Advent Calendar 2018」の記事の1つで、Strategyパターンを取り上げます。アルゴリズムをそれぞれクラスとして切り出して動的に切り替えられるようにし、条件分岐を減らして開放閉鎖の原則(OCP)に沿った設計を実現する方法を、PHPでの実装例とともに解説します。
PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factory
PHPで学ぶデザインパターン - Factory・Factory Method・Abstract Factoryについて、設計原則とトレードオフ、実践的な適用方法を詳しく解説します。
DIとサービスロケーター
DI(依存性注入)の実装パターンを解説。DIとサービスロケーターをコンストラクタインジェクションの例で比較し、疎結合なコードの書き方を紹介します。
PHPで学ぶデザインパターン - Adapter ~APIを変更する~
PHPで学ぶデザインパターンの記事です。Adapterパターンは、互換性のないインターフェース同士を適合させるためのパターンで、既存のコードに変更を加えずに再利用しながら新しい機能を提供できるのが特徴です。その仕組みと実装方法を、具体的なコード例を交えて解説します。
PHPで学ぶデザインパターン - オブジェクト指向の基礎
PHPで学ぶデザインパターンの前提として、継承・インターフェース・トレイト・静的プロパティ/メソッドといったオブジェクト指向の基礎を解説します。
PHPで学ぶデザインパターン - Singleton ~いくつ作るかを制限~
PHPで学ぶデザインパターン「Singleton」。インスタンス生成数を制限し、アクセスを制御して単一オブジェクトの状態を管理する方法を解説します。
PHPで学ぶデザインパターン - Template Method ~処理の穴埋め~
PHPで学ぶデザインパターン「Template Method」。共通処理を親クラスにまとめ、固有の実装をサブクラスに委ねる設計を解説します。