我正在重构一个项目,将用于访问数据表字段的所有魔术字符串移动到一个专用模块。这个应用程序有很多表,显然还有更多的字段,所以我的问题是:就应用程序的性能而言,在一个模块中放置这么多静态常量(可能有数百个(有问题吗?
就我个人而言,我会将表拆分为类,并将它们添加到模块中。然后,您可以以更结构化的方式引用它们,模块将更易于管理。例如
对于名为Person:的数据库
''' <summary>
''' Represents the fields of database table Person
''' </summary>
Public Class Person
Public Property FirstName As String = NameOf(FirstName)
Public Property Surname As String = NameOf(Surname)
Public Property DateOfBirth As String = NameOf(DateOfBirth)
End Class
然后将其添加到您的模块中:
Public Module Tables
Public Person As New Person
End Module
然后参考:
Sub Main(args As String())
Console.WriteLine(Tables.Person.FirstName)
Console.WriteLine(Tables.Person.Surname)
Console.WriteLine(Tables.Person.DateOfBirth)
Console.ReadLine()
End Sub
或者,您可以引用该对象,使其更易于阅读。
Sub Main(args As String())
Dim person = Tables.Person
Console.WriteLine(person.FirstName)
Console.WriteLine(person.Surname)
Console.WriteLine(person.DateOfBirth)
Console.ReadLine()
End Sub
关于性能,对象将存储在内存中,但不会对性能产生实际影响。