1

いくつかのaspxページとSQLServerデータベースの詳細を含むweb.configファイルを含むC#で構築された単純なWebアプリケーションがあるとします。一部のaspxページは、データベースからストアドプロシージャ(SELECTまたはINSERTクエリ)を呼び出し、フォーム認証が使用されます。

アプリケーションアーキテクチャの観点から、これは2層アーキテクチャ(データ層-クライアント層)または3層アーキテクチャ(クライアント層-ビジネス層-データ層)のどちらでしょうか?

私には2層のように聞こえますが、aspx.csはサーバー側であるため、これはビジネスレイヤーと見なされますか?

また、ここでこの質問をするべきではないことをお詫びしますが、あなたの姉妹サイトの名前を思い出せません!

4

2 に答える 2

1

はい、私の意見では、コードがサーバー側であるにもかかわらずビジネスレイヤーがないため、あなたが説明したのは2層アーキテクチャです。ビジネスレイヤーにはすべてのビジネスオブジェクトとロジックが含まれている必要があり、.csページは単にそれらのビジネスオブジェクトを呼び出します。

ほとんどのアプリケーションを同じ方法でビルドします。Asp.netフロントエンドがCRUD操作用のSQLServerストアドプロシージャを呼び出します。ただし、別のデータベースプラットフォームにアクセスした場合、真のビジネスレイヤーが存在しないため、多くのコードを変更する必要があります。最後に、ビジネスレイヤーを使用すると、コードのテストも容易になります。

申し訳ありませんが、姉妹サイトの質問を手伝うことはできません:)

于 2013-02-24T23:06:34.713 に答える
1

用語TierLayerは同義ではありません。

ATierは、アプリケーションにおける「物理的な」分離です。各層は、1つ以上のレイヤーが展開および実行される場所です。これには、Webサーバー、データベースサーバーなどのアイテムが含まれます。2(または20!)層システム全体が単一のマシンから実行される場合もあることに注意してください。たとえば、Webサーバーとデータベースサーバーが同じハードウェアにインストールされている場合です。

ALayerはアプリケーションの論理的な分離であり、プレゼンテーション、ビジネスロジック、データアクセスなどの用語を使用して、アプリで行われるさまざまな論理的な分離を説明します。

システムは、n層とn層にすることができます。

したがって、1つのWebサーバー(アプリ自体を実行)と1つのデータベースサーバー(DBサーバー)で構成されるWebアプリケーションがある場合は、2層アプリケーションがあります。アプリケーション内の唯一の分離がテーブル構造が存在する場所である場合、それは2層アプリケーションでもある可能性があります。

于 2013-02-25T02:15:05.603 に答える