ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp5 はどのようなデザイン パターンを使用しますか?

thinkphp5 はどのようなデザイン パターンを使用しますか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-23 11:45:435140ブラウズ

thinkphp5 はどのようなデザイン パターンを使用しますか?

1. デザイン パターンの概要

まず、デザイン パターンとは何かを理解しましょう:
デザイン パターン 繰り返し使用され、他の人に容易に理解され、信頼できる一連の信頼性の高いコード設計の経験をまとめたものです。
デザインパターンは Java の専売特許ではありませんが、オブジェクト指向の手法を使用すれば、PHP でも 23 のデザインパターンをうまく使用できます。

それでは、私たちがよく話題にするアーキテクチャ、フレームワーク、デザイン パターンの間にはどのような関係があるのでしょうか?
アーキテクチャは、一連のシステム構造とプロジェクトの全体的なソリューションです。フレームワークは、再利用可能な半完成ソフトウェアであり、特定のプログラム コードです。一般にアーキテクチャには、特定の問題の解決を高速化および最適化するためにどのような種類のフレームワークを使用するかが関係しており、優れたフレームワーク コードは多くの設計パターンを合理的に使用しています。

関連する推奨事項: 「ThinkPHP チュートリアル

2. デザイン パターンのいくつかの原則を洗練する:

(1) 開く-クローズドの原則: モジュールは拡張に対してオープンである必要がありますが、変更に対してはクローズされている必要があります。
(2) Liskov 置換原則: 親クラスが呼び出された場合、それをサブクラスに置き換えれば実行できます。
(3) 依存関係逆転の原則: 抽象化は詳細に依存せず、インターフェイス指向のプログラミングであり、渡されたパラメーターは高レベルのクラスを参照しようとします。
(4) インターフェイス分離の原則: 各インターフェイスは 1 つの役割のみを担当します。
(5) 合成/集約の再利用の原則: 合成/集約を可能な限り使用し、継承を乱用しないでください。

3. デザイン パターンの機能は何ですか?

デザイン パターンは、乱雑なコードを置き換える問題を解決し、適切なコード スタイルを形成します。コードは読みやすく、インターフェースを変更することなく新しい機能を追加する場合、エンジニアは簡単に理解できます。強力な拡張性を備えています。
安定しています パフォーマンスが良く、一般にデザイン パターンで解決できない未知の問題はありません。

(1) デザイン パターンは、コードを直接構成するライブラリではなく、コードを整理するために使用されるテンプレートです。と呼ばれる;
(2) デザイン パターンは最も効率的ではありませんが、コードの読みやすさと保守性の方が重要です;
(3) デザイン パターンを盲目的に追求して適用するのではなく、リファクタリングの際にそれについてもっと考えてください。

4. 設計パターンの分類

1. 作成パターン:

シングルトン パターン、ファクトリ パターン (シンプル ファクトリ、ファクトリ メソッド、抽象ファクトリ)、クリエーターモード、プロトタイプモード。

2. 構造モード:

アダプター モード、ブリッジ モード、デコレーション モード、コンビネーション モード、外観モード、フライウェイト モード、プロキシ モード。

3. 動作パターン:

テンプレート メソッド パターン、コマンド パターン、イテレータ パターン、オブザーバー パターン、メディエーター パターン、メモ パターン、インタープリター パターン、状態パターン、戦略パターン、責任連鎖モデル、ビジターモデル。

以上がthinkphp5 はどのようなデザイン パターンを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。