朝、朝食を食べているときに突然ひらめきがあり、食べた小籠包と日々の開発経験をもとに階層化されたアプリケーションについて話しました。
まず、3 層アーキテクチャとは何かについて説明します。いわゆる 3 層開発とは、ビジネス アプリケーション全体をプレゼンテーション層、ビジネス ロジック層、データ アクセス層、データベースなどに分割することです。より詳細に、クライアントのプレゼンテーション層、ビジネス ロジック アクセス、データ アクセスとデータベース アクセスが明確に分割され、システムの開発、保守、導入、拡張に非常に役立ちます。
実際、ソフトウェアを階層化する必要があるのは、一言で言えば「高い結合性と低い結合性」を実現することです。 「分割統治」の考え方を採用して問題を個別の解決策に分割することで、制御、拡張、リソースの割り当てが容易になります。
この三層構造のメリットは何でしょうか?
1. システム全体を異なる論理ブロックに分割することで、アプリケーション システムの開発と保守のコストが大幅に削減されます。
3 層構造は、クライアント層とアプリケーション サーバーに応じてプレゼンテーション部分とビジネス ロジック部分を分離し、クライアントとアプリケーション サーバー、アプリケーション サーバーとデータベース サーバー間の通信、および異種プラットフォーム間のデータ交換をすべて行うことができます。実装するミドルウェアまたは関連プログラムを通じて実行されます。データベースまたはアプリケーション サーバーのビジネス ロジックが変更された場合、クライアントは変更する必要がなく、その逆も同様であるため、システム モジュールの再利用性が大幅に向上し、開発サイクルが短縮され、メンテナンス コストが削減されます。
興味深い理解:
レストランが次のような小籠包を作ったとします:
蒸し餃子の層
肉まんの層
無地のバッグを重ねたもの。
まず、このようにして、饅頭職人をいくつかのグループに分けて、異なる饅頭を作ることができます。それぞれの種類のパンができたら、どのケージに入れるかを一々確認する必要がなく、他のケージの加熱に影響を与えることなく、簡単に火にかけることもできます。肉まんやシュウマイが食べたいときに、必要なものがすぐに見つかるので時間も労力も節約できます。肉まんや肉まんを取り出したり、追加したりしても、ベジまんじゅうの加熱には影響しません。
これらすべてを大きな檻に入れたらどうなると思いますか?見つけるのが面倒なだけでなく、ポットを開けるたびに他のものに影響を与えてしまいますか?
2. データアクセスと論理操作をコンポーネントに集中させ、システムの再利用性を高めます。
たとえば、データ アクセスはデータ アクセス レイヤーのコンポーネントに集中されるため、データベースやテーブルにアクセスする必要がある各フォームが同じコンポーネントを使用するアプリケーション内の重複コードが削減されます。
たとえば、いくつかの一般的な論理操作は、論理層のコンポーネントにカプセル化されます。このメソッドを使用する各操作は、コンポーネントへのアクセスを共有できます。
興味深い理解:
簡単に理解すると、ケージ自体が再利用の例です。使い捨てケージ(割り箸のようなものと理解してください)を使用すると、どれだけの労力が無駄になり(繰り返し書くのが面倒です)、膨大な資源の無駄が発生します。冗長性)、最後にゴミ処理(アフターメンテナンス)です。さらに、ケージとコンロポットが仕様と規格(インターフェース)に従って作られている場合、そのようなケージはここで使用できるだけでなく、他の場所でも使用できます。 (この理解は正確ではありませんが、簡単にこのように理解してください)
3. システムの拡張性が大幅に向上します。
モジュール化により、システムは垂直方向と水平方向の拡張が容易になります。一方で、システムをより大規模で強力なプラットフォームにアップグレードできると同時に、規模を適切に拡大してネットワーク アプリケーションを強化できます。システム。システム同型性の制約を取り除くことで分散データ処理が可能となります。機能の拡張や変更を行う場合でも、基本的には元の構造の安定性が崩れることはありません。
興味深い理解:
お客様のニーズに合わせて、まんじゅうやさつまいもなどの新しい品種を追加する必要があるため、ケージを 1 層追加するだけで済み、他のケージに影響を与えることはありません。
企業の競争上の優位性を生み出す際の 3 層構造の役割は、主にモジュール設計に反映されており、ユーザーは既存の構造に基づいてシステム拡張を実現し、同時に企業情報化の速度とビジネス レベルを向上させることができます。三層構造のミドルウェアシステムの登場により、ユーザーが市場から適切な製品を直接選択してシステムを構築できるようになり、開発サイクルと開発コストが大幅に削減されます。
ただし、階層構造にはデメリットもあり、多ければ多いほど良いというわけではありません。多くの階層を管理するのが面倒になったり、作業効率が低くなったりする場合があります。したがって、適切な階層構造を持つシステムには、適切な数のレイヤーが必要です。
関連資料: 三重建築と養豚
以上が階層的発展思想と小籠包の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。