2011-08-03 78 views
0

我是否每次都要为不同的方法实例化描述?或者我应该使用静态?以下是我现在这样做的:处理这种情况的最佳方式是什么?似乎我重复了这一行:Dim description As BLLDescription = New BLLDescription()没有任何好的reasn。如何用不同的方法创建类的实例

Protected Sub Button8_Click(sender As Object, e As System.EventArgs) Handles Button8.Click 
      Dim description As BLLDescription = New BLLDescription() 
      List<String> = description.GetDescriptionWithoutNotes() 
      ..... 
     End Sub 

    Protected Sub Button9_Click(sender As Object, e As System.EventArgs) Handles Button9.Click 
     Dim description As BLLDescription = New BLLDescription() 
     List<String> = description.GetDescriptionWithNotes() 
     ..... 
    End Sub 
Protected Sub Button10_Click(sender As Object, e As System.EventArgs) Handles Button10.Click 
      Dim description As BLLDescription = New BLLDescription() 
      List<String> = description.GetAllDescriptions() 
      ..... 
     End Sub 

回答

0

如果定义BLLDescription作为一个静态类,你可以调用GetAllDescriptions()方法,而不必实例:

Protected Sub Button8_Click(sender As Object, e As System.EventArgs) Handles Button8.Click 
      List<String> = BLLDescription.GetDescriptionWithoutNotes() 
      ..... 
     End Sub 

    Protected Sub Button9_Click(sender As Object, e As System.EventArgs) Handles Button9.Click 
     List<String> = BLLDescription.GetDescriptionWithNotes() 
     ..... 
    End Sub 
Protected Sub Button10_Click(sender As Object, e As System.EventArgs) Handles Button10.Click 
      List<String> = BLLDescription.GetAllDescriptions() 
      ..... 
     End Sub 
+0

是的,我知道。任何我不应该这样做的理由? – user194076

+0

由于每个BLLDescription实例的数据不会不同,但仅用作数据访问层,因此将其声明为静态是最有意义的。 – hspain

0

这取决于什么的BLLDescription的实例确实和它是如何得到数据。

如果它一次又一次地访问相同的数据,你可以声明它是静态的。如果每个请求获得相同的数据,则将其作为类级别的属性。

+0

BLLDescription调用函数来自数据访问层,其参数如下:BllDescription.GetAllDescription(int number)。你在课堂上的财产意味着什么? – user194076

+0

是的,所以如果参数在每个调用中都改变,那么将它作为'Page'类或其他地方的属性。这样你就可以在构造函数中实例化和打开连接,并且每个对GetAllDescriptions的调用都不需要经过相同的开销。 – Mrchief

相关问题