我正在设计一个新的应用程序,但我尚未决定是否应该在构造函数中填充对象属性
Public Sub New(UserId as integer)
' get database values
dr = DataReader
Me.FirstName = dr.fields(0)
Me.LastName = dr.fields(1)
End Sub
或者为每种对象类型创建一个带有方法的工厂?
Public Function getUser(UserId as integer) as User
Dim myUser as new User
' get database values
dr = DataReader
myUser.FirstName = dr.fields(0)
myUser.LastName = dr.fields(1)
return myUser
End Function
我意识到代码很粗糙,但我希望它足以表达我的观点。我已经看到了这两种方法的实现,但不确定长期的利弊是什么。
具体来说,如果重要的话,我正在使用 VB.NET。
最佳答案
我的看法:
构造函数创建一个对象。 User
类的构造函数应该创建一个新用户。
静态成员函数,例如 getUser
检索已存在的对象。
我会使用后一种形式。
关于design-patterns - 对象属性是否应该填充在构造函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470789/