0

私はwinforms画面を構築しています。画面上で、それが表示されます

カテゴリー1
  サブ1-1
  サブ1-2
  サブ1-3
カテゴリー2
  サブ2-1

をクリックするsub-1-1とポップアップ画面が表示され、sub-1-1 に関連するデータが表示されます。サブ 1-2 などについても同様です。つまり、全部で 5 つのフォームがあります (上記のサンプルでは、​​1 つのメイン フォーム + 4 つのポップアップ フォーム (実際には約 30 のサブ カテゴリがあります))。

Categoriessub-1-1sub-1-2、 ... のモデルがありますsub-2-1。サービス層を書いています。やるべきか、

public class ServiceLayer 
{
  CategoriesModel GetCategories();
  Sub11Model GetSub11();
  Sub12Model GetSub12();
  Sub13Model GetSub13();
  Sub21Model GetSub21();
  .....
}

それとも、各フォームにサービス クラス インスタンスが追加されましたか?

public class ICategoryService { ... }
public class ISubCategoryService<T> 
{
  T GetSub();
}

var sub11 = new SubService<Sub11Model>();
var sub12 = new SubService<Sub12Model>();
var sub13 = new SubService<Sub13Model>();
var sub21 = new SubService<Sub21Model>();
....
4

1 に答える 1

1

最初のものはGODクラスのように見え、おそらくSOLID原則のほとんどに違反します。単なるファサードであっても、コードのリファクタリングが難しくなります。

もちろん、 1 つの責任のみを処理する小さなインターフェイスを使用する必要があります。

于 2012-05-11T05:32:10.290 に答える