この記事では、PHP デザイン パターンの学習の概要を紹介し、共有します。一定の参考値があるので、困っている友達が参考になれば幸いです。
# PHP、MySQL、Linux、およびフロントエンド開発に焦点を当ててください。興味があれば、フォローしていただきありがとうございます。 ! !記事は GitHub 上で整理されており、主に PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux などのテクノロジーとツール リソース、その他の関連する理論的知識、インタビューの質問、実践的な内容が含まれています。
この記事では、超実践的なデザインパターン学習サイトを紹介します。デザインパターンを学ぶ前に、まずなぜデザインパターンを学ぶのかを知る必要があります。正しく効率的な学習設計モデルを作成するにはどうすればよいでしょうか?次の図は、デザイン パターンを学習する過程にある個人向けの一般的な学習アイデアを示しています。
デザイン パターンはソフトウェアです。設計における一般的な問題に対する典型的な解決策。これらは、ニーズに合わせて調整できる既成の青写真のようなもので、コード内で繰り返し発生する設計上の問題を解決するために使用できます。
デザイン パターンはメソッドやライブラリの使用方法とは異なるため、自分のプログラムにデザイン パターンを直接適用することは困難です。パターンは特定のコード部分ではなく、特定の問題を解決する一般的な概念です。このパターンを使用して、実際のニーズを満たすソリューションを実装できます。
パターンとアルゴリズムはどちらも概念的には特定の問題に対する典型的な解決策であることが知られているため、よく混同されます。ただし、アルゴリズムは特定の目標を達成するために必要な一連のステップを常に明確に定義しますが、パターンはソリューションのより高いレベルの説明です。 2 つの異なるプログラムで同じパターンの実装コードが異なる場合があります。
アルゴリズムはレシピに似ており、目標を達成するための明確な手順を提供します。パターンは青写真に似ています。最終結果とパターンの機能を確認できますが、実装手順は自分で決定する必要があります。
デザイン パターンを発明したのは誰ですか?これは良い質問ですが、少し不正確でもあります。デザイン パターンは難解で複雑な概念ではありません。実際にはその逆です。パターンは、オブジェクト指向設計における一般的な問題に対する典型的な解決策です。同じソリューションがさまざまなプロジェクトで何度も使用されたため、最終的には誰かがそれらに名前を付け、詳細に説明しました。これは基本的にパターン発見のプロセスです。
パターンの概念は、Christopher Alexander の著書『Architectural Pattern Language』で初めて提案されました。本書はパターンを基本単位とする都市デザインの「言語」を紹介する。パターンには、窓の高さ、建物の階数、ブロックの植生の量などの記述が含まれる場合があります。
4 人の著者、エリック ガンマ、ジョン フリーサイド、ラルフ ジョンソン、リチャード ヘルムは、パターンの概念を受け入れました。 1994 年に、デザイン パターンの概念をプログラム開発の分野に適用した書籍『デザイン パターン: 再利用可能なオブジェクト指向ソフトウェアの基礎』を出版しました。この本は、オブジェクト指向プログラミングのさまざまな問題を解決するための 23 のパターンを提供し、すぐにベストセラーになりました。タイトルが長かったため、「The Gang of Four (GoF) Book」と短縮され、すぐにさらに「The GoF Book」と短縮されました。
それ以来、人々は数十のオブジェクト指向パターンを発見してきました。 「パターン アプローチ」は、プログラム開発の他の分野でも普及しました。現在、オブジェクト指向設計の分野以外でも、他の多くのパターンが提案されています。
設計パターンが異なると、複雑さ、詳細レベル、システム全体での適用範囲が異なります。私はこれを道路建設に例えたいと思います。交差点をより安全にしたい場合は、信号機を設置するか、歩行者用の地下道を含む立体インターチェンジを建設します。
最も基本的な低レベルのパターンは、多くの場合イディオムと呼ばれます。このタイプのパターンは、通常、1 つのプログラミング言語でのみ使用できます。
最も一般的な高レベルのパターンは、アーキテクチャ パターンです。開発者は、どのプログラミング言語でもこのタイプのパターンを使用できます。他のパターンとは異なり、アプリケーション全体の設計に使用できます。
さらに、すべてのパターンは、その意図や目的に応じて分類できます。この本では、次の 3 つの主要なパターン カテゴリについて説明します。
作成パターンは、オブジェクトを作成するためのメカニズムを提供し、既存のコードの柔軟性と再利用性を高めます。
構造パターンは、構造を柔軟かつ効率的に保ちながら、オブジェクトとクラスをより大きな構造に組み立てる方法を記述します。
行動パターンは、オブジェクト間の効率的なコミュニケーションと責任の委任に関与します。
下の図では、大まかに次のようにリストされています。
上記で共有 デザイン パターンに関する基本的な知識を学びます。開発の歴史やデザインパターンの分類もある程度理解した上で、コードを通して実践していきます。デザインパターンを学ぶとき、誰もがしばしば問題に遭遇します。
同じデザインパターンをプログラミング言語 A で実装できますが、プログラミング言語 B で実装する方法がわかりません。
初心者の場合、読んだ本や記事で使用されているプログラミング言語が現在習得しているプログラミング言語と一致しないため、学習がさらに難しくなります。
上記の問題について、この Web サイトは、それらを 1 つずつ解決するのに役立ちます。この Web サイトにはさまざまなプログラミング言語のサンプル コードがあり、ほとんどの学習者が満足できます。
サンプルコードでは、デザインパターンの定義だけでなく、ロジック図、UML図、実際のコード、実践的な内容も紹介しています。環境。同時に、最大のハイライトは、実際の環境のケースを通じてデザインパターンを要約することであり、デザインパターンを理解するのに役立ちます。次の図は、デザイン パターンのサンプル コードを学習するための一般的な概念です。
上記は、いくつかの基本的な知識を大まかに示したものです。ウェブサイトのデザインパターンを学ぶ方法や手段もあります。 Web サイトの具体的な URL は次のとおりです: refactoringguru.cn/design-patterns
推奨: 「PHP ビデオ チュートリアル 」
以上がPHP 設計パターン学習の概要を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。