ここ数日、私はDAL/BLL/UIのアプローチを使って多くの研究を行いました。プロジェクト。以前は、BLLをUIにData Access Layer(LINQtoSQL dbml)に直接接続していませんでした。しかし、私はこれが良いアイデアだとは思っていません。ここで私は今(あるいは過去にも)働いています。さまざまなアプリケーションがあり、同じDAL/BLLを使いたいからです。デザインパターン:このコンセプトを理解し、それが私のプロジェクトにどのように適用されるのかを助けてください
ほとんどの私のアプリケーションで、LinqtoSqlDataSource/GridViewを使用してdatacontextに接続して、すべての更新/編集などを処理すると、BLLはどのように役立ちますか?それぞれの新しいWebアプリケーションは、DAL/BLLを一意に変更する必要があり、同じDAL/BLLを使用する他のアプリに影響を与える可能性があります。これを行う正しい方法であるDAL/BLLの再利用ですか?何か不足していますか?
ビルドする必要があるときに、たとえば、ビルドされるさまざまなWebアプリケーションのセキュリティクラスをビルドする必要があると思います。しかし、私がLinqtosqldatasourceを使用すると、なぜBLLに接続するのは気になりますか?
DAL
- LinqToSQL DBMLのDataContext。
- LinqToSQLを使用すると、このデザインをどのように使用する必要がありますか?
BLL
- 会社によって使用される様々なウェブサイトのためのセキュリティ。
- クエリDALは何を返す(?)LinqToSQLDatSourceを使用した場合、様々な結果セットを処理機能(私は質問が不明である場合、これは申し訳ありませんBLL、で動作するべきか本当にわからないよ)
UI
- BLLのみ参照?
あなたの回答とこのhttp://stackoverflow.com/questions/3952534/communication-between-bll-and-dalは、私がそれが何であるかまだ分かっていないことを除いて、ドメインの側面についていくつかの洞察を与えてくれました。あなたは精緻化できますか? – Dan
"ドメイン"は基本的に "ステートフルなビジネスオブジェクト"の集合です。たとえば、Quickbooksのようなプログラムでは、請求書はドメインオブジェクトである可能性があります。これらのオブジェクトは、通常、RDBMSのデータ構造に非常に密接に関連し、データ状態の一貫性を維持する責任があります(したがって、データレベルの検証や合計などの「計算フィールド」の更新のための通常の場所です)。 – KeithS
正確にどれくらい基本的には、オブジェクトがそれ自身とオブジェクトの周りを知っているほど、オブジェクトが変化しなければならない理由が増え、SOLIDの単一責任原則(Single Responsibility Principle)に違反します。しかし、ドメインクラスが状態を格納する単一の責任を持っている場合、それは複数のオブジェクト(ドメインクラス、バリデータ、保持者)を変更して小さなものにすることを必要とする貧血ドメインモデルと呼ばれるアンチパターンを作成します – KeithS