2011-06-20 3 views
2

につながるあなたはBLL <間でデータを転送するには2つの方法のいずれかを使用する必要があります - > DALBLLとDALが通信する必要がどのように、すべての方法は、トラブル

1-どちらかDAL Entity.dll、内のデータを入れをし、 BLLとUIはEntity.Studentを使用できます。これは、学生の情報だけを論理なしで含むものです。

カップリングの増加: - これは、たとえば、すべての生徒がクラスを1つだけ持っているClassIDを持っていた場合など、問題につながります。学生がリストを持っているようにビジネスが変わった。その場合はおそらく、すべてのレイヤー(UI、BLL、DAL)に多くのコードを書き直します。

2 DALには独自のStudentがあり、BLLには独自のStudentがあるため、DALからBLLにオブジェクトを渡すときは、すべてのDALStudentをBLLStudentに変換する必要があります。

多くのコード: 私は、Translator.dllの考え方、まだ多くのコード、そして少しのプロセッササイクルの浪費を気に入らなくてもします。

方法がありますか、あなたの意見は何ですか?

おかげ

答えて

0

さまざまな要件のために、正確に同じコードを使用することはできません - あなたはそれに対処する必要があります。ただし、UIレイヤー(ビューモデル)に適した異なるクラスを使用することをお勧めします。そして、BLLレイヤーはまったく必要ありません(クロスカッティングの場合のみ必要です)。Domain Driven Designをご覧ください。そして、要件を変更する場合は、ドメインオブジェクトとそのマッピングをビューモデルに変更する必要があります(Automapperなどのツールを使用して簡単に行うことができます)

関連する問題