ホームページ > バックエンド開発 > PHPチュートリアル > PHPオブジェクト指向プログラミングとデザインパターン(3)_PHPチュートリアル

PHPオブジェクト指向プログラミングとデザインパターン(3)_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:28:30
オリジナル
1053 人が閲覧しました

PHP上級プログラミング学習ノート2014.06.11

デザイン パターン (デザイン パターン) は、ほとんどの人に知られている、繰り返し使用されるコード設計エクスペリエンスを分類およびカタログ化した一連の概要です。デザイン パターンを使用する目的は、コードを再利用し、コードを他の人が理解しやすくし、コードの信頼性を確保することです。 デザイン パターンは、自分自身、他者、およびシステムにとって Win-Win であることに疑いの余地はありません。デザイン パターンは、建物の構造と同じように、コーディングを真のエンジニアリングにします。

単一のケースパターン

シングルトン パターンは、オブジェクトのインスタンスが 1 つだけ存在できるようにする必要がある場合に非常に便利です。オブジェクト作成の制御を単一ポイントに委任し、アプリケーション内には常に 1 つのインスタンスのみが存在します。シングルトン クラスはクラスの外でインスタンス化しないでください。シングルトン クラスには次の要素が必要です。

クラスが任意にインスタンス化されるのを効果的に防ぐには、プライベート アクセス レベルのコンストラクターが必要です。

クラスのインスタンスを保持する静的変数が必要です。

このインスタンスにアクセスするには、通常 GetInstance() という名前のパブリック静的メソッドが必要です。

インスタンスが複製されないようにするには、プライベートで空の __clone メソッドが必要です。

以下では、シングルトン クラスの簡単な例を使用して説明します

リーリー

シンプルファクトリーモード

同じインターフェースを実装するクラスが多数ある場合、適切なタイミングで適切なクラスをインスタンス化します。これらの新しいクラスがプロジェクトの隅々に散在すると、ビジネス ロジックが混乱するだけでなく、プロジェクトが困難になります。維持すること。このとき、ファクトリーモードの概念を導入すると、この問題はうまく解決できます。アプリケーション構成を通じて、またはパラメータを指定することによって、ファクトリ クラスが適切なインスタンスを返すようにすることもできます。

Factory クラスは、クラスをインスタンス化する処理を各ファクトリ クラスに組み込むもので、特に他のクラスのオブジェクトを作成するために使用されます。ファクトリ パターンはインターフェイスと組み合わせて使用​​されることが多いため、ファクトリが特定のインターフェイスをサポートするクラスを返す限り、アプリケーションはインスタンス化されたクラスの詳細を知る必要がなく、便利に使用できます。以下は、ファクトリ クラスの使用法を示す簡単な例です。

リーリー

概要

パターンはソフトウェア エンジニアリングの基礎のようなもので、建物の設計図と同様に、ここではシングルトン パターンとエンジニアリング パターンの 2 つのパターンが公開されています。シングルトン クラスには、それ自体のインスタンスを格納する静的変数があり、この静的変数を取得するための静的メソッドが提供されます。シングルトン クラスでは、インスタンスの一意性が侵害されるのを防ぐために、コンストラクターとクローン関数をプライベートとしてマークする必要もあります。ファクトリ パターンは、渡されたパラメータまたはプログラムの構成に基づいてさまざまなタイプのインスタンスを作成します。ファクトリ クラスは、ポリモーフィック プログラミングの実践において重要です。

www.bkjia.com本当http://www.bkjia.com/PHPjc/781929.html技術記事 PHP 高度なプログラミング学習ノート 2014.06.11 デザイン パターンは、分類されカタログ化された一連のコード設計エクスペリエンスであり、繰り返し使用され、ほとんどの人に知られています。作る...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート