0


私は .net プログラミングが初めてです。
私はレイヤードアーキテクチャ(3つのレイヤー[ビューレイヤービジネスロジックレイヤーデータアクセスレイヤー])を使用しているWindowsアプリケーション(C#)を開発しています。しかし、ビュー層とビジネスロジック層の概念の間で立ち往生しています。たとえば

、私のフォームでは、同じ winform に多くの DataGridVew コントロールがあり、それらに対して何らかの操作を行う必要があるため、GetRecordCount(..) などの同様の操作のための共通メソッドを作成しました。

private int GetRecordCount(DatagridView dgv)
{
     //calculate record row count and return that.
}

私の質問は::GetRecordCount(..)メソッドをViewLayerまたはBusinessLogicレイヤーのどこに配置すればよいですか?
BusinessLogicレイヤーに入れる場合GetRecordCount(..)、WinformコントロールはViewLayerの一部であるため、操作の引数としてBusinessLogicレイヤーにwinコントロールを渡すのは良いことですか?

4

1 に答える 1

1

ビジネスレイヤーは、ビジネスモデルをサポートするための決定/計算のみを行う必要があります。私の意見ではGetRecordCount 、 はビジネス層にあるべきではありません。UI の要素をビジネス モデルに渡して操作するべきではありません。ビュー/UI レイヤーは、ビジネス レイヤーの計算/決定を使用して、すべての表示詳細を処理する必要があります。

この特定の計算は、表示のみを目的とした計算であり、 datagridviewの行を計算するため、他の目的には使用されません。別のメソッドがシステムに含まれるレコードの総数を返す場合、私はおそらくそれをビジネス レイヤーに配置します。ただし、この場合、メソッドは UI レイヤーに移動する必要があります。

私が助けてくれることを願っています!

于 2013-12-28T08:00:33.097 に答える