3

私はこの質問をするのはとても初心者のように感じますが、それはしばらくの間私を悩ませてきました。

階層型アプリケーションのBLLを設計するとき、すべてのエンティティクラスを1つの名前空間に配置しますか?例:顧客とその車両のデータベースがあり、これらの車両が月次ベースでサービスを受ける場合。顧客とその車両を「サービスモジュール」とは別の「モジュール」に保持すると思います(サービスの実行方法やデータの保存場所を更新する必要がある場合は、に触れる必要はありません)。 Customer \ Vehicleモジュール)。

このように考えるのは正しいですか、それともデザインのアイデアを変更する必要がありますか?

これにより、LINQtoSQLの使用に関する問題が発生しました。テーブルのエンティティクラスの半分が'モジュール'Aに含まれ、残りが'モジュール'Bに含まれている場合、2つのテーブル間の関連付けに対応するために、どこかに'モジュール'A参照'モジュール'Bが含まれ、その逆も同様です。 'モジュール'との境界線。

または(これについて今考えただけです)、「モジュール」(両方のモジュールで同じクラスを持つ)で1つのテーブルのエンティティクラスがオーバーラップしますか?

何かアドバイスをいただければ幸いです。

4

1 に答える 1

1

「サービスの実行方法やデータの保存場所を更新する必要がある場合は、 Customer\Vehicle モジュールに触れる必要はありません」 . DAL は、どこにいてもデータの取得と保存を処理します。

しかしもちろん、Vehicle を更新する必要がある場合もあり、これらのルールの更新を 1 か所で行う必要がある場合は最も便利です。これらのルールを使用して、顧客と車両の BLL を簡単に作成できます。次に、Customer と Vehicle を使用する CustomerVehicleService を追加するだけです。できないルールはありません。

于 2013-03-04T09:51:36.827 に答える