VB.Net 共享常量字符串
VB.Net shared constant strings
我正在重构一个项目,将所有用于访问数据表字段的魔术字符串移动到专用模块。这个应用程序有很多表,显然还有更多的字段,所以我的问题是:就应用程序的性能而言,在模块中放置这么多静态常量(可能数百个)是否有问题?
我个人会将表格拆分为 类 并将它们添加到模块中。然后您可以以更结构化的方式引用它们,模块将更易于管理。例如
对于名为 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
关于性能,对象将存储在内存中,但对性能没有实际影响。
我正在重构一个项目,将所有用于访问数据表字段的魔术字符串移动到专用模块。这个应用程序有很多表,显然还有更多的字段,所以我的问题是:就应用程序的性能而言,在模块中放置这么多静态常量(可能数百个)是否有问题?
我个人会将表格拆分为 类 并将它们添加到模块中。然后您可以以更结构化的方式引用它们,模块将更易于管理。例如
对于名为 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
关于性能,对象将存储在内存中,但对性能没有实际影响。