この記事では、主に PHP 言語をベースとして、PHP でさまざまな一般的なデザイン パターンを実装する方法を説明します。
デザイン パターン (デザイン パターン) は、ほとんどの人に知られている、繰り返し使用されるコード設計エクスペリエンスを分類およびカタログ化した一連の概要です。デザイン パターンを使用する目的は、コードを再利用し、コードを他の人が理解しやすくし、コードの信頼性を確保することです。デザイン パターンが自分自身、他者、システムにとって Win-Win であることは疑いの余地がありません。デザイン パターンによってコーディングが真のエンジニアリングになります。デザイン パターンは、建物の構造と同じようにソフトウェア エンジニアリングの基礎です。
PHP デザイン パターンの知識ポイントについて詳しく知りたい場合は、6 つのオンライン コースにサインアップしてください: http://www.php.cn/k.html
デザインパターン関連の知識
1. デザインパターンの概要
デザインパターン (デザインパターン) ) は、繰り返し使用され、ほとんどの人に知られており、カタログ化されているコード設計経験の要約です。デザイン パターンを使用する目的は、コードを再利用し、コードを他の人が理解しやすくし、コードの信頼性を確保することです...
詳細については、「デザイン パターンの概要」をクリックしてください
2. 開閉の原則
開閉の原則 (OCP) は、オブジェクト指向設計における「再利用可能な設計」の基礎であり、次の 1 つです。オブジェクト指向設計で最も重要な原則です。まず、他の多くの設計原則は、開閉の原則を実現するための手段です...
詳細については、「開閉の原則##」をクリックしてください。 #"
3. リスコフ置換原理
リスコフ置換原理 LSP では、基底クラスとサブクラスの関係について説明します。この関係が存在する場合にのみ、リヒター置換関係が存在します。 2 つの特定のクラス A と B の間の関係が LSP の設計に違反している場合...詳細については、「Richter 置換原理 」
#4 をクリックしてください。インターフェイス分離の原則クライアントは必要のないインターフェイスに依存すべきではなく、あるクラスの別のクラスへの依存関係は最小のインターフェイスに基づく必要があります。単一の全体的なインターフェイスよりも、複数の特殊なインターフェイスを使用する方が適切です。あるクラスの別のクラスへの依存関係は、最小のインターフェイスに基づく必要があります...
詳細については、「
インターフェイス分離原則1. ファクトリ パターン
ファクトリ パターンは最も一般的に使用される例ですオブジェクト モデルはファクトリ メソッドを使用するモデルです新しい操作を置き換えます。有名な Jive フォーラムでは、ファクトリ パターンが広範囲に使用されています。ファクトリ パターンは、Java プログラム システムのあらゆる場所で見ることができます...詳細については、「
Factory Pattern」## をクリックしてください。
#2. シングルトン パターン (Singleton パターン)
シングルトン パターン (Singleton パターン) は、一般的に使用されるソフトウェア設計パターンです。そのコア構造には、シングルトン クラスと呼ばれる特別なクラスが 1 つだけ含まれています。シングルトン モードでは、システム内にクラスのインスタンスが 1 つだけ存在し、外部からそのインスタンスに簡単にアクセスできるようにすることができるため、インスタンス数の制御が容易になり、システム リソースが節約されます...詳細については、「Single Case Pattern
>> Builder Pattern はオブジェクト作成パターンです。 。プロダクトの内部表現をプロダクト生成プロセスから分離できるため、構築プロセスで異なる内部表現を持つプロダクト オブジェクトを生成できます...詳細については、「ビルダー パターン ##」をクリックしてください。 #>>
4. プロトタイプ パターンプロトタイプ プロトタイプ パターンは、創造的なデザイン パターンです。プロトタイプ パターンにより、1 つのオブジェクトから別のオブジェクトを作成できます。カスタマイズ可能なオブジェクトは、詳細を知る必要はありません。動作原理は...
詳細については、「プロトタイプ モード」をクリックしてください
1. アダプター パターンアダプター パターンはアダプター パターンとも呼ばれ、構造パターンの 1 つであり、既存のクラス (または外部クラス) は、アダプター パターンを通じて変更できます。アダプター パターンの適用シナリオ...
詳細については、「アダプター パターン 」をクリックしてください。
2. 複合パターン合成モード: オブジェクトをツリー構造に組み合わせて、「全体/部分」階層を表現できます。組み合わせを使用すると、顧客は個々のオブジェクトとオブジェクトの組み合わせを一貫した方法で処理できます... 詳細については、「Composition Mode」 3 をクリックしてください。外観モード (ファサード モード) 外観モードは外観のパッケージ化を指します。そのため、アプリケーションは外観オブジェクトのみを表示でき、特定の詳細オブジェクトは表示できません。これにより、間違いなくアプリケーションの複雑さが軽減されます。アプリケーションをサポートし、プログラムの保守性を向上させます... 詳細については、「外観モード」 をクリックしてください。4. エージェント モード プロキシ モードの役割は、継承、インターフェイス、組み合わせの役割と似ており、共通部分を集約し、共通部分のコードを削減するように設計されています。違いは、継承と比較してコンテキストが異なることです。継承で表現される意味は is-a ですが、プロキシで表現される意味はインターフェイスに近い has-a であり、プロキシを使用する場合は、文は " 「継承と複数の組み合わせを使用する」... 詳細については、「エージェント モード #」をクリックしてください。 5. デコレーション モード 元のクラス ファイルを変更したり継承を使用したりせずに、オブジェクトの機能を動的に拡張します。パッケージング オブジェクト、つまり装飾を作成することで実際のオブジェクトをラップします... 詳細については、「Decoration Mode」