プレゼンテーション層 - ビジネス・ロジック - データアクセス層

転載接続:  https://blog.csdn.net/iflychenyang/article/details/9670277

1。3層アーキテクチャーとは何ですか

システム全体は、プレゼンテーション層に分割されている、いわゆる3層のビジネスアプリケーション開発 - ビジネス・ロジック - データアクセス層、それは良いシステム開発、保守、導入と拡張したものです。

   階層化は達成することです「高凝集と低カップリングを。」簡単な資源の配分に、拡張が容易、簡単な制御に、様々にオープンに問題を解決するために、「分割統治」の思考の使用。

  •     プレゼンテーション層は:一般的に、ユーザーとの直接相互作用の原因であるデータ入力、データ表示用のインターフェースシステムを指します。関連したディスプレイの唯一の外観手段の仕事は、彼の仕事が行われていないではありません。
  •    ビジネスロジック層:より良いプログラム実行の堅牢性を確保するために、いくつかの検証作業を行うため。かどうかを決定するために上記の判断の多くは、ユーザーのアクセス権などの合法性を判断するために、テキストボックスに指定された空の文字列を許可していない、正しい形式やデータタイプの検証でデータ;;、このような添加終了などのデータ、変更および照会サービスなど操作は、プログラムの正常な動作を保証するために、可能な限り、次のに渡されました。
  •    データアクセス層:名前が示すように、それは特別で使用されたデータベースの相互作用。データの追加、削除、および他の変更および表示を行います。データ層以外の場所などSystem.Data.SqlClientのようなデータオブジェクトのすべてのみ、この層で参照されているが、そのような基準であってはならないことを強調すべきです。

 ASP.NETは、迅速かつ容易に.NETプラットフォームを使用した3層アーキテクチャを展開することができます。ASP.NET革命的な変化はまた、ウェブベースのイベント処理に使用されている、あなたは言語コードビハインドとしてC#、VB、C ++とJ番号を使用することができ、コードビハインドファイルの処理を指定することができます。。NETは、簡単に簡単に名前空間で定義されたそのコンポーネントを使用することができますアセンブリの後ろにアセンブリコードを達成することができます。それは3層アーキテクチャを実現することが容易であるので、ASPXページ表示層が、データベース操作と論理層または実装するコンポーネントクラスをパッケージに配置されます。

2。なぜ3層アーキテクチャを使用します

    大規模、複雑なシステムは、層または構造として設計されている場合、単純なアプリケーションの場合は、符号量が多くのケースではない、層構造または2階建ての構造は、複雑にする必要がなく、完全に十分に開発されました二階建て構造の開発、そのようなAの設計の非常に深刻な欠点があります。以下の具体的な説明は、実際には、大規模なサービスのための階層的なシステムを開発します。

   なぜこれほど多くの開発時には、主プログラムのスタッフが、多くの場合、コードをコピーして同様の機能を表示され、その後、同じコードを書くのか?長いが、メンテナンスにつながらないだけでなく、プログラムを作り、小さな変化が、多くの場合、プログラムが正しく実行されない異常なメイクで、その結果、ページの多くを必要とするかもしれません。主なオブジェクト指向の考え方は、オブジェクト指向のプロセス指向の名前を装って、わずかな症状でしたが、まだ道を歩いていません。

   この問題を認識し、プログラムの主なプログラムがために、クラスにカプセル化された一般的な方法で書かれたいくつかの一般的な処理プログラム、開始したのプログラムの呼び出しを。そのような限りの方法(データの追加、変更、クエリなど)クラスはなく、すべて、データ・アクセス層である特定のデータ操作を実行することができるように、データベース操作中に、データ操作の合理的なパッケージに基づいて、データ書き込み動作として書き込み操作は、それらの繰り返しデータベース操作コードデータベースです。新しいアプリケーションの開発では、データアクセス層を直接使用することができます。オブジェクト指向ここの三つの特徴の一つのカプセル化はよく表現されています。オブジェクト指向の意味を発見したようだ読者は今、過去に比べてコードの量が大幅に減少し、時間もより便利で変更するだけでなく、コードの再利用性を達成するためにされています。

あなたは3層アーキテクチャを使用したい理由を次の2つの場合は、説明します。

ケースI:

Accessデータベースからのデータ量の増加に伴うデータベース・システム・ソフトウェアSQLので、Serverデータベースは、その元のデータアクセス層に障害が発生したことを、データ操作は、変更されたオブジェクト、および場所のページは、データ・オブジェクトの変更に関与すべきですデータが修正されるべきで表示するときに、元のかもしれない利用OleDbDataReaderクラスがページを表示するためにデータを渡すオブジェクト、今SqlDataReaderオブジェクト交換しなければならなかった、一貫性のないデータ変換でサポートされているSQL ServerとAccessのデータ型が行われ、これはの一つであります状況。

ケースII:

特別な事情がそうWebフォームにプロジェクトを変換するために、必要のWindowsアプリケーション、それを修正するために行われるどのくらいのニーズこの時間?あなたがAspx.csにコードの多くを取る、またはいくつかのコードはASPXに存在するがある場合は、システム全体がそれを再開発するのに必要ですか?

 

   上記の場合には欠陥が階層的な開発モデル、それを理解していませんでしたか?あなたはこのような状況に遭遇したかどうか?これは、不十分な設計によって引き起こされる多層外観アーキテクチャは、合理的な手続きフレームワークによって層別化、この問題を解決することができる非常にプログラムの汎用性を向上する開発されています。

3。3層アーキテクチャ開発を使用する利点

使用3層アーキテクチャの開発には、次のような利点があります。

  •    3層アーキテクチャ、または単層構造の二階よりビューの開発と応用点の観点から大きな利点を有しています。チーム開発のための3層アーキテクチャ、それぞれの人が生産性を向上させるために一緒に労働者、仕事のさまざまな部門を持つことができます。2階建ての単層アプリケーションまたはを開発する場合、三層アプリケーションを開発しながら、各開発者は、システム、高容量の要件をより深く理解して対処する必要がある、あなたは才能の広い範囲で、システム上のちょうど少数の人々を組み合わせることができ、全体的なある程度開発の困難さを軽減することを学びます。
  •    3層アーキテクチャは、優れた分散コンピューティング環境をサポートすることができます。アプリケーションロジック層は、算出したフル機能のネットワークを使用して、複数のコンピュータ上で実行できます。分散コンピューティング、効果よりもCPUのアップグレードの大きな可能性。アメリカ人は分数の復号化を使用して計算されており、数ヶ月は常に主張した亀裂にパスワードを破ることはできません。
  •    最大の利点は、その3層のセキュリティです。ユーザデータのみ論理階層レベルを介してアクセスされる、エントリポイントが低減され、多くのシステム機能のリスクが遮断されます。

4。3層アーキテクチャの種類

現在、プロジェクトの開発におけるチームの開発者は、主に階層化アーキテクチャ設計を使用して開発された、最も一般的には3層アーキテクチャは、目的は、隣接する層への影響することができ、様々な層の間にすることですが、この制限はであることが多いです多層開発を使用すると、違反した場合には、このシステムの開発は、有害です。データ層の駆動モード、ドライブモード、分離プレゼンテーション層の駆動モードは、単離されたドライバモデルの開発は最も重要である:ドライブモードに応じて3層アーキテクチャは、次の3つのタイプに分けることができます。以下の3つのモードの比較によって、分離駆動モードの重要性を説明しています。

 

   データ層のドライブモード

   いわゆるデータ層駆動モードは、最初の設計データ層、プレゼンテーション層、データ層を中心に展開され、データ層とプレゼンテーション層の完了時に、ビジネス層は、データ層を中心に展開します。ステートメント層は、ビジネス層におけるプレゼンテーション層の制約不正確と制限の変更を行いますデータ層、を中心に展開しているため。ビジネス層が限られているとして、いくつかの簡単な変更は、SQLクエリやストアドプロシージャを介して達成することができます。

   このパターンは非常に一般的であり、それは伝統的な顧客サービスと同様の側の開発で、すでに存在しているデータベースを中心に設計されています。層設計の周りのデータプレゼンテーション層なので、それは多くの場合、実際のデータ層構造直感的に模倣です。

 

   デザインは、多くの場合、簡単にもフィードバックループを形成し、データ層を、修正するために達成されていない追加のデータ層との間のフィードバックループに記載され、プレゼンテーション層は、しばしばあります。開発者は、声明の開発を容易にするために、データベース層を修正するために要求するが、データ層の設計は有害です。この変更は、人工と考慮されていませんでしたあるの制限の必要性を。この変更は、多くの場合、非標準化され、不要なデータの冗長性やデータが得られ、少なくとも被害データにルールの特定に違反します。

    プレゼンテーション層のドライブモード

   プレゼンテーション層駆動モードは、拡張ステートメント層を取り囲んでデータ層です。ビジネス層を完了し、通常、単純なSQLクエリとほとんど変化または単離であります。そのため、データベースの設計のプレゼンテーション層を容易にすることである、データ層の設計上の考慮から、データベースの設計は、通常、性能が低いではありません。プレゼンテーション層設計の駆動モードは、図1.6に示されています。

 

   分離ドライブモード

    セパレータドライブモードのデザイン、プレゼンテーション層とデータ層は、それは多くの場合、並行して開発された、独自に開発しました。設計内の任意の相互干渉なしに二つの層ので、有害な人工的な制約および設計要素は存在しません。層を設計する際に、ビジネス層を再設計。ビジネス層のための責任は、データ層と上のプレゼンテーション層の変更のためノー需要に基づいて変換のすべてを完了することです。プレゼンテーション層のドライブモードを設計します。

 

    今プレゼンテーション層とデータ層が完全に独立しているため、ビジネスが変化層、プレゼンテーション層を必要とする場合、データ層は、お互いに影響を与えることなく、適宜変更することができます。2つの変更が物理的に隣接する層は、直接他の層や紛争に影響を与えませんされていません。これは、データまたはそれに応じて調整するか、大きなためにシステムを変更することなく、ユーザーの要件に基づいて、層構造の変化のプレゼンテーション層を調整することができます。これらの3つのドライブモードの表1.1に比較されます。

種の比較表駆動モード

  

データ層のドライブモード

プレゼンテーション層のドライブモード

分離ドライブモード

データベース

(1)それはデザインに簡単です。

(2)負の影響を有しています

それが強固に結合されているため、データ層とプレゼンテーション層を変更すること(3)困難

(1)不正なデータベース設計

(2)設計の標準化は深刻ではありません

使用することが困難(3)他のシステム

変更することは困難(4)データ層、それがしっかり文層と結合されているので

(1)設計の最適化

(2)集中データベース設計は、それはほとんど効果のプレゼンテーション層を有し、

ビジネスニーズ

多くの場合、変化するビジネスニーズに適応することはできません

多くの場合、ビジネスニーズの変化に対応

需要の変化に適応

ユーザーインターフェース

ユーザーの周りではなく、修正することが難しいデータ層、周り

拡張のためのユーザー・インターフェース

拡張のためのユーザー・インターフェース

拡張性

典型的には、拡張可能な、しかしより頻繁にユーザーインターフェイスに書き換える必要データベースの構造を満たすために、データベースは、同時に冗長なフィールドの数を格納する必要があるかもしれません

展開の整合性は、多くの場合のみ、「カット・アンド・ペースト」機能によって達成することが困難であり、

簡単に拡張することができます

     要約すると、それが単離された駆動モードの利点を見ることが容易であり、駆動モードアイソレーション設計が大幅にプログラムのスケーラビリティを向上させることができます。3層分離駆動モードの使用上のアプリケーションのセクション1.3.2で。

 

 

リリース6元記事 ウォンの賞賛189 ビュー280 000 +

おすすめ

転載: blog.csdn.net/newbie_xymt/article/details/103969518