2012-04-10 12 views
1

次のように、階層の私の理解は次のとおりです。?N-ティア質問

DAL - デシベル とBLLの相互作用コード - ビジネスルール(これはDALと異なるどのようにそれDALを呼び出す?サンプルBLLクラスは何ですか?)

プレゼンテーション層も

、「サービス層」はこのすべてに入って来るのでしょうか?

答えて

2

さて、DALから始めましょう。 あなたはBLLを書いたときにDBのすべての問題を忘れることができます。つまり、DALは挿入、選択、更新、削除操作、トランザクションの処理、ストアドプロシージャの実行を行います。 実生活でどのように使用していますか?あなたのDBにテーブルTBL1があるとしましょう。 DALでは、Tbl1Adapterという名前のクラスを作成します。ダミーメソッドCreateRecord、GetRecord(id)、UpdateRecord(id、newData)、DeleteRecord(Id)。 BLLはこのメソッドを呼び出します。しかし、Tbl1Adapterクラスは内部でDBジョブを行います。ストアドプロシージャを呼び出すか、SQLコマンドをDBに送信するか、BLLからの要望を満たすためにトリッキーなDBドライバを使用します:) DALはデータベースのみを意味するのではなく、ASCIIファイル、入力デバイス、他の何か。 このレイヤーはデータを提供します。

次のものはBLLです: BLLはすべてあなたのデータを操作します。 DALからデータを取得し、DALにデータを保存します。しかし、データを持つすべての演算はBLLに表示されます。数値は乗算され、条件(IF ... THEN ...)がフルフィルされ、他のロケット科学ロジックが実行されます。したがって、BLLはアプリケーションの中核です。 このレイヤーはアプリケーションの頭脳です。

プレゼンテーションレイヤー: これは理解しやすく、非常に興味深いものです。それはあなたのアプリケーションがそれの仕事の結果をどのように提示するかに関するすべてです。それは、データグリッドとボタンを持つWindowsフォーム、それはWebページかもしれない、それはいくつかのクールなオーディオインターフェイスかもしれません。 このレイヤーは、ユーザー(または別のシステム)からデータを取得するための目と耳、およびユーザー(または別のシステム)にデータを提供する口など、アプリケーションの顔です。

サービスレイヤーはやや難解です。 多くの場合、他のアプリケーションのAPIです。私は数に掛けることができるWebサービスを持っているとしましょう。それはMegaBrainと呼ばれています:) あなたは、ユーザーから2つの番号を取るアプリケーションを持っています。しかし、あなたのアプリケーションにBLLを実装する代わりに、私のMegaBrainのサービスを利用することに決めました。それらの番号を与えて、結果を返すことができます。 サービス層は...まあ、私は2つの言葉でそれを記述する方法を知らないです。サービス層はのは、アプリケーション別のアプリケーションのBLLを使用してみましょう。 (乗算の結果をあなたに戻って与えたり、テレビをオン;)これは、DALと似ていますが、サービス層は、入力されたデータの一部の操作を実行し、いくつかの結果を生成しながら、データアクセス層のみ店舗とは、データを提供します

+0

良い説明、Iサービス層は、元のアプリと外部のアプリケーションとの間のリンクになり、参照してください。 – dotnetdev