因此,我正在重构一个小应用程序作为一个例子,以获得更多的实践。应用程序的目的(假设)是从“注册新用户”表单中收集数据,并将其保存在数据库中。我唯一的限制是我必须使用一个特殊的自定义数据访问类,它直接与数据库通信,并在DataTable对象中返回数据(如果适用)。
我有一个关于表单的小细节的问题,以及它们如何融入到层架构中。例如,我的表单有一个从数据库提供的下拉列表,但同时下拉列表并不表示每个SE的对象(不像User是一个对象,有一个User类具有多个方法、数据成员等)。我不想在后面的代码中调用存储过程,但我也不希望在抽象上做得过多。
在不创建大量类抽象的情况下,如何优雅地处理这些小细节。
希望我说得够清楚了
发布于 2009-06-01 16:30:23
有趣的是你会问这个问题。我经历了那个问题,here。
这些我已经回答的其他Stack Overflow问题显示了其他部分(切线相关):
发布于 2009-06-02 07:17:00
将非对象数据获取到UI的一个选项是创建一个或多个查找类,这些查找类是一个存储桶或“服务”,用于获取下拉列表等内容的奇数位数据。
示例:
myDDL.DataSource = Lookup.GetAllCountries();// GetAllCountries为静态方法
//设置名称/值字段等...
myDDL.DataBind();
使用这种方法,您仍然可以支持层分离。它不是面向对象的,也不是优雅的,但它非常实用。
发布于 2009-06-01 16:31:13
我不知道什么是最佳实践,但我做的是我有一个实用程序类,它有一个以DropDownList对象和枚举为参数的方法,所以我这样做了
FillDropDown( ddlistPhoneType,DropDownTypes.PhoneTypes );
这个实用程序类有时从数据库填充下拉列表,有时从XML填充,偶尔还会填充一些硬编码的值。但至少GUI不必担心这一点。
https://stackoverflow.com/questions/937415
复制相似问题