典型的な N 層アプリでは、層についての私の理解は次のとおりです。
DAL - db と対話するコード BLL - ビジネス ルール (これは DAL とどう違うのですか? DAL を呼び出しますか? サンプルの BLL クラスは何ですか?)
プレゼンテーション層
また、「サービス層」はこれらすべてのどこに入るのですか?
典型的な N 層アプリでは、層についての私の理解は次のとおりです。
DAL - db と対話するコード BLL - ビジネス ルール (これは DAL とどう違うのですか? DAL を呼び出しますか? サンプルの BLL クラスは何ですか?)
プレゼンテーション層
また、「サービス層」はこれらすべてのどこに入るのですか?
それでは、DAL から始めましょう。BLL を作成すると、DB に関するすべての問題を忘れることができます。つまり、DAL は、挿入、選択、更新、削除操作を処理し、トランザクションを処理し、ストアド プロシージャ セットを実行します。実生活でどう使う?DB にテーブル TBL1 があるとします。DAL で、Tbl1Adapter という名前のクラスを作成します。ダミー メソッド CreateRecord、GetRecord(id)、UpdateRecord(id、newData)、DeleteRecord(Id) を使用します。BLL はこのメソッドを呼び出します。ただし、Tbl1Adapter クラスは内部で DB ジョブを実行します。ストアドプロシージャを呼び出すか、SQLコマンドをDBに送信するか、いくつかのトリッキーなDBドライバーを使用してBLLからの希望を満たします:) DALはデータベースだけを意味するのではなく、ASCIIファイル、入力デバイス、他の何か。この層はデータを提供します。
次は BLL です。BLL は、データを処理するためのものです。DAL からデータを取得し、DAL にデータを渡して保存します。ただし、データを使用するすべての操作は BLL で表示されます。数値が乗算され、条件 (IF...THEN...) が完全に処理され、その他のロケット サイエンス ロジックが実行されます... したがって、BLL はアプリケーションのコアです。このレイヤーは、アプリケーションの頭脳です。
プレゼンテーション層: これは最も理解しやすく、開発するのが非常に興味深い層です。アプリケーションがその作業の結果をどのように提示するかがすべてです。それは、データ グリッドとボタンを備えたウィンドウ フォーム、Web ページ、クールなオーディオ インターフェイスなどです。このレイヤーはアプリケーションの顔です。目と耳はユーザー (または別のシステム) からデータを取得し、口はユーザー (または別のシステム) にデータを提供します。
さて、サービス層は少しトリッキーです。多くの場合、他のアプリケーションの API です。数値に乗算できるWebサービスがあるとしましょう。これは MegaBrain と呼ばれます :) ユーザーから 2 つの数字を受け取るアプリケーションがあります。しかし、アプリケーションに BLL を実装する代わりに、私の MegaBrain の SERVICE を使用することを決定します。それらの番号を彼に渡して、結果を返します。つまり、サービス層は... ええと、それを2つの言葉で説明する方法がわかりません。サービス レイヤーでは、アプリケーションで別のアプリケーションの BLL を使用できます。DALに似ていますが、データアクセス層はデータを保存して提供するだけで、サービス層は入力データに対していくつかの操作を実行し、結果を生成します(乗算の結果を返すか、テレビをオンにします;)