3 層アーキテクチャの階層化と用語「ミッシュマッシュ」
-
26-09-2019 - |
質問
3 層アーキテクチャを表現するためのさまざまな可能性について混乱しています。
Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)
または
Database (aka Backend)
Business-Layer
Presentation Layer (User Interface)
1 番目の方法でデータベースをスキップできるのはなぜですか?どちらもデータベースを使用します。データベースは階層化に属していますか?!
何が間違っていて、何が正しいのでしょうか?
どなたかこれを解明していただけませんか?
解決
Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)
データアクセスレイヤは、必ずしもデータベースではありません。これは、XMLファイルである可能性があります。これは、RSSフィードである可能性があります。これは、外部アプリケーションである可能性があります。それはあなたがそのようなあなたのアプリケーションにデータを取得し、何もすることができます。
それは本当にですのでます:
[Data-Source]
Data-Access-Layer
Business-Layer
Presentation Layer (User Interface)
[Data-Source]
はデータベース、XML、RSS、私はドライバー、ない層などのデータ・ソースそのものを考えることを好むものは何でも...。
は、このアプローチの柔軟性は、アプリケーションの他の部分に触れることなく、あなたのデータソースを交換することができます。だから、あなたはあなたのバックエンドデータとしてXMLファイルを使用することによって始め、その後、あなたの代わりにデータベースにそれを変更したい場合は、あなただけのDALの層に触れる - アプリケーションの残りの部分は、それがまだにつれて気にしません。同じフォーマットのデータます。
他のヒント
あなたのDALは、それがxmlファイルを使用することができますデシベルを使用しなくてもよいと考えていますか?
最初のアプローチは、3層の層であるものであり、より抽象的な概念を使用しています。
は、それぞれの層に行くようなものは実装階層に依存します。 Yuoは、GUI / DB / BizLogic「プログラム」の間にあなたの層を混在させることがありますが、抽象的に、あなたはまだ、これらの層をmantainます。
データ・アクセス・レイヤー
ビジネスレイヤ
プレゼンテーション層(ユーザーインターフェイス)
あなたはデシベルに接続するコードをwirteも上考慮します。であることDALまたはロジック?
私はあなたがデータにアクセスするためのコードを書いているようDALことを検討したい。
プレゼンテーション層
これはアプリケーションの最上位レベルです。プレゼンテーション層には、商品の閲覧、購入、ショッピング カートの内容などのサービスに関連する情報が表示されます。ブラウザ/クライアント層およびネットワーク内の他のすべての層に結果を出力することで、他の層と通信します。
アプリケーション層 (ビジネスロジック/ロジック層/データアクセス層/中間層)
ロジック層はプレゼンテーション層から引き出され、独自の層として詳細な処理を実行してアプリケーションの機能を制御します。
データ層
この層はデータベース サーバーで構成されます。ここで情報が保存され、取得されます。この層は、データを中立に保ち、アプリケーション サーバーやビジネス ロジックから独立させます。データに独自の層を与えると、スケーラビリティとパフォーマンスも向上します。
詳細については、以下を参照してください。
http://en.wikipedia.org/wiki/Multitier_architecture
マイクロソフトのパターンとプラクティスグループは、この問題のすべてのバリエーションを通過する優れたアーキテクチャガイドを持っています。それは少し.NETの方に焦点を当てますが、あらゆる環境に非常に適用されています。強くお勧めします。