2012-01-10 12 views
-1

私は1つのページを3つのレイヤに変換しようとしています。簡単な定義と利点で3層とは何ですか?

私はそれがより組織化されていると信じていました。

私は現在3層あるので混乱しています。私は3層が何であるかをはっきりと理解していないことに気付きました。

これは=私が知っているか、私は

データアクセス層を知っていると思うものですが/すべての接続を取得します

ビジネスアクセスレイヤ値= DALからこれらの接続と値を実行します。わかりませんが、ここでエラーをチェックしていますか?

プレゼンテーションレイヤー=これが私がもっと混乱している場所です...このパートはBALを呼び出しますか?これが本当なら、なぜ3つの層があるのですか?

+3

あなたが読んでいるものはわかりませんが、これは明らかです。http://en.wikipedia.org/wiki/Multitier_architectureそれを読んで質問を変更してください。 – Hogan

答えて

7

プレゼンテーション層は、ユーザーとやり取りし、要求を受け取り、情報を表示します。例として銀行業務アプリケーションを使用しましょう。ユーザーは自分のアカウントにログインし、残高を取得し、いくつかの発見を転送したいと考えています。

プレゼンテーションレイヤ:ユーザーにログイン情報を取得し、ログイン情報を取得し、ログインしたことを伝え、残高を表示し、資金を移転するオプションを提供し、移転の詳細を取得し、移転を通知します。承認されました。

ビジネスアクセスレイヤー:ユーザーのログイン情報を検証します。ユーザーに表示する残高を計算します。転送が許可され、それを承認することを決定します。

データアクセス層:ユーザーのログイン情報を格納します。勘定残高情報、保有している資金などを格納します。

基本的には、

データアクセス層に情報が格納されます。ビジネスアクセスレイヤーは、取得する情報を決定し、それに基づいて決定を下し、結果を渡します。プレゼンテーションレイヤーは、ユーザーから情報を取得し、ユーザーに情報を提供します。

+0

BALは結果を保存しますか?私はそれがDALの仕事だと思った? – healxph0enix

+0

結果を保存するように指示します。実際にはオペレーション全体でそれらを保持しません。私は明確にします。 –

1

ここにこの記事では良い要約を思わ:私はハイライトであろうと、それのhttp://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture

主なポイントは、あなたが別の環境で各階層を実行することができるということです。あなたはasp.netと言うWebサーバー上でプレゼンテーション層を走らせることができます。おそらくWindowsサービスやWCFサービスなどを使用して、別のサーバー(アプリケーションサーバー)でビジネスアクセスレイヤーを実行できます。最後のレイヤーはデータベースサーバー上またはその近くに置くことができます。

潜在的にレイヤーを異なる物理的な場所に分けることができるという利点は、スケーラビリティを高めることができるということです。あなたのウェブサーバがたくさんの要求に苦しんでいるという例があります。ビジネスアクセスレイヤーを呼び出す2つのWebサーバーを持つことにしました。

もう1つの利点は、メインテナンスです。すべてのデータアクセスコードが隣り合っていれば、データアクセスレイヤの問題をデバッグする方が簡単です。あなたは、あなたが探しているものを見つけることがより簡単であるように、コードをおそらく3分の1に減らすプロジェクトを持っています。

さらに別の利点は、スワップ可能性である可能性があります。あなたはもうasp.netを使いたくないと言ってください。 PHPのWebレイヤーに入れ替えて、.NETビジネスロジックとより簡単にやり取りすることができます。

本質的に私が言及した利点は、かなり多くのモジュール性/粒状性の利点です。

1

まず、「層」は「層」と同義ではありません。

レイヤーは論理的な分離です。

ティアは物理的に分離されている可能性があります。通常、マシンレベルまたはプロセスレベルです。

(参照:http://pranshujain.wordpress.com/2006/09/15/layers-and-tiers/)をこれらの3つの層のための脇の理由はあなたの意志でそれらを交換する能力を与えることです

=======

。たとえば、複数のプレゼンテーションレイヤー(Web、モバイル、デスクトップアプリケーション)があるとします。ここでの目的は、他のすべてのプレゼンテーションと区別することで、異なるプレゼンテーションコードをすべてやり直さなくてもビジネスロジックを変更できるようにすることです。

ビジネスオブジェクトレイヤーは、すべての通常のロジックをカプセル化して強制します。たとえば、誕生日は今日の日付より前でなければならないと言うかもしれません。これをストレージとプレゼンテーションの両方から分離するのが好きな開発者の数です。

データアクセスレイヤーは、ビジネスオブジェクトからのデータを実際のストレージメカニズムにマーシャリングする役割を果たします。あなたがSQL ServerやOracleやフラットファイルに物事を格納することを決めることができるという考えで、アプリケーションの残りの部分は一方的にも気にもならないはずです。

============

これらのレイヤーはすべて必要ですか?いいえ、多くのアプリケーションでは、変更が必要なときに役立ちます。


今、ティアについて。デスクトップまたはブラウザは、1つの層と見なすことができます。 JavascriptコードとHTMLがここで実行されます。デスクトップアプリケーションをお持ちの場合、これがその場所になります。

もう1つの層は、WebサーバーまたはWebサービスインターフェイスです。これは、レンダリングと使用のクライアント側のためにhtmlを提供する責任があります。通常、プレゼンテーションレンダリングとビジネスオブジェクトレイヤの両方が格納されます。

さらに別の層が実際のストレージメカニズムです。たとえば、SQL ServerまたはOracle。

あなたのアーキテクチャーがどれほど進んでいるかによっては、5つまたは6つの異なるTierを持つ可能性があります。数字は通常2と3以下です。

1つのレイヤーまたは12のレイヤーしか持たないこともありえます。ただし、ここでの数は通常2〜3です。アーキテクチャにもよりますが、

関連する問題