2012-04-25 5 views
1

Visual Studioで基本的な3層C#アプリケーションの実装を試みるソリューションを作成しました。私はこのコンセプトを研究しましたが、今は各ティアごとに異なるプロジェクトを使用してまとめようとしています。つまり、DataAccessBusinessRulesBusinessObjectsのプロジェクトがあります。Visual Studioでのデータアクセス、ビジネスルールおよびビジネスオブジェクトのプロジェクトの作成

BusinessRulesプロジェクトにDataAccessBusinessObjectプロジェクトへの参照が含まれていますか? (そしてDataAccessBusinessObjectsBusinessRulesを参照するべきではないのですか?)

これを設定した後、私はそれぞれの層が担当するのか理解が、あなたは内のデータとビジネスオブジェクト(複数可)を取り込む必要がある場合、私は知りませんでした実現しましたDataAccessレイヤー、またはに要求されたデータを渡してオブジェクトを移入する必要があるかどうか - これを行う推奨方法は何ですか?

答えて

1

あなたの質問にはおそらく役に立ちませんが、答えは常に「それに依存します」です。これになると、「すべてを支配する1つの指輪」はありません。もし存在すれば、建築家は必要ないだろう。言われていること

は、私の特定のケース私はしたいとして:

  • データアクセス層は、ビジネス・オブジェクトを操作しています。これは、DALがすべてコード内にあり、データベース内のコードとストアドprocsの間で分割されていないことを前提としています。
  • ビジネスルールレイヤーをビジネスオブジェクトに対して操作させます。再度、procsを格納するのではなく、すべてのコードを仮定します。
  • データアクセスのビジネスルールは難題です。アプリの種類とルールに大きく依存します。ストアを更新するビジネスルールが必要な場合は、DALからインターフェイスを抽出して、ビジネスルールがインターフェイスのみに依存するようにすることをお勧めします。

また、私の場合はこれらの項目が機能します。彼らはあなたにとって完全に間違っている可能性があります。また、ユーザーインターフェイスレイヤー、サービスレイヤー、あいさつレイヤーなどについては言及していませんでした。多くの部分や部分があります。

正しいように厳守する必要があるという厳しい規則はありません。あなたはあなたのニーズ、要件、およびあなたが持つ制約を見なければなりません。

幸運。

+0

ありがとう、それは私が探していた答えの種類でした。ネット上に多数の記事があり、これに関するスタックオーバーフローに関する質問がありましたが、実際に(あなたの答えが指摘しているように)さまざまな方法があるこれを実装する。 – Theomax

関連する問題