我的网络表单上有很多下拉列表和自定义网格,它们会显示给最终用户。每个都通过 DAL 从数据库中填充。我为每个定义了单独的类。但是,我正在考虑减少类的数量,因为每个新需求都会产生一个单独的自定义对象。
我怎样才能减少编号。这些要求的类?我应该使用数据集、列表等吗?
我的网络表单上有很多下拉列表和自定义网格,它们会显示给最终用户。每个都通过 DAL 从数据库中填充。我为每个定义了单独的类。但是,我正在考虑减少类的数量,因为每个新需求都会产生一个单独的自定义对象。
我怎样才能减少编号。这些要求的类?我应该使用数据集、列表等吗?
“为每个定义单独的类”和“如何减少此类要求的类数”。
你真的为每个下拉列表创建一个新类吗?根据我的经验,通常我通过使用这个类来概括它:
public class DropDownItem<T>{
public string Display{get;set;}
public T Value{get;set;}
}
可以使用它来完成Dictionary<T>
。
从未在 ASP.Net 中使用过,但它在 Winform 和 WPF 数据绑定中运行良好。在 Asp.Net 中,我认为普通的选择选项足以满足需要。
但是对于gridview,您需要将您的类概括为更通用。声明一个具有大部分参数的类,该类可以为空。
示例一请求有 10 个参数,5 个是强制性的,其他 5 个是可空的。网格 A 显示参数 1,2,3,4,5,7,8,网格 B 显示参数 1,2,3,4,5,6,9,10。这样,您可以在更多网格中使用一个类。
不要使用数据集/数据表。使用更多的类比使用 DataSet 更好。当使用更多的类时,可维护性会比DataSet 更好,因为它是强类型的,而不是DataSet 中的“COLUMN_NAME”。
我希望这听起来不太重要,但如果作为一个类添加的每个需求最终都需要大量工作,那么也许您可以研究继承以清理这些类中的样板/共享代码。
一般来说,很多小类(不与其他类重叠的功能)是一件好事。相反的复杂性问题,“上帝”类,你的所有代码都被塞进更少的类,更糟糕。