ASP.NET开发人员面向对象的编程

2013 年 9 月 16 日4150

ASP.NET开发人员面向对象的编程

  本文作者、PH&V信息服务公司的一位负责人Peter Vogel说,在上一期栏目(支持ObjectDataSource控件)中,我开始研究创建能够与ObjectDataSource(对象数据源)一起工作的对象所需要的代码。在本期栏目中,我研究使用能够把一个客户表中的代码行转变为客户对象的方法创建一个对象工厂类,适用于集成到一个使用ObjectDataSource控件的ASP.NET网页。本栏目研究这些客户对象的数据类。

  一个简单的数据类

  在我的工厂方法中,我使用这行代码创建我的客户对象:

  cst = New Customer(rdr(0), rdr(1), rdr(2), …)

  在这行代码中,我把我从客户表中提取的这行代码的每一个字段传送到我的类构造函数。那个构造函数(及其封闭类)看起来是这样的(在这个例子中我仅包括了对三个栏的支持):

 


 PublicClassCustomer
  Private_CustomerIdAsString
  Private_CompanyNameAsString
  Private_ContactNameAsString
  PublicSubNew()
  EndSub
  PublicSubNew(ByValCustomerIDAsString,
  ByValCompanyNameAsString,
  ByValContactNameAsString)
  _CustomerId=CustomerID
  _CompanyName=CompanyName
  _ContactName=ContactName
  EndSub  正如你看到的那样,我在这个类构造函数中所做的一切是捕捉传送给它的值并且在私有类水平的变量(字段)中存储这些值。

  其它的客户数据类包括返回存储在这些字段中的这些值的属性。这是一个典型的例子:

 


 PublicPropertyCompanyName()AsString
  Get
  Return_CompanyName
  EndGet
  Set(ByValvalueAsString)
  _CompanyName=value
  EndSet
  EndProperty  如果你要支持在中间层验证数据,你将使用代码简称在这些属性中进入你的应用程序的数据。你还需要声明一些只读的属性,防止用户改变用户接口中的值(例如,返回这个表格的主键的属性)。替代的方法是你可以在那个页本身或者在这个数据库中计算这个验证,避免用户修改任何无效值。

  如果你要使用代码中的对象而不仅仅把它与ObjectDataSource联系在一起,你可以考虑其它一些增强的方法。例如,你可以增加额外的方法和属性以支持在一次调用中设置多个相互关联的属性。你还可以增加一个属性以跟踪这个对象的状况(例如,要从这个数据库中删除设个客户吗?)。

  一般来说,随着时间的推移,这个类的变化没有工厂类的变化那样多。偶尔将增加一个新的属性以支持数据库中的变化。在某些属性中的验证代码将增加或者增加一种新的方法以简化与这个类一起工作的方式。

相关文章

关键词: 评论

责任编辑:李春禹

专题推荐

原创文章

微博互动

白皮书

0 0