在类中只有共享函数/方法是一个好习惯吗?

时间:2012-08-02 20:03:52

标签: .net vb.net winforms

很抱歉这个长标题。以下是我经常使用Windows窗体应用程序遇到的示例情况。我的应用程序中的大部分代码都以UI为中心,所以我的大多数代码都在主类(MainWindow)中。这是我打算如何分解代码的类比。当用户执行操作时,我将不得不将压缩文件写入磁盘。所以它看起来像这样。这是一个很好的做法。这只是尝试更好地组织我的代码。

Public class MainForm

    Private Sub TempButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TempButton.Click
         Compression.CompressFile(fileStream)
    End Sub

End Class


Public Class Compression

     Private Sub New
          'Private constructor
     End Sub

     Public Shared Sub CompressFile(ByVal inFile as stream)

     End Sub

     Public Shared Sub DeCompressFile(ByVal inFile as stream)

     End Sub

End Class

3 个答案:

答案 0 :(得分:2)

这是一种常见的模式。

但是,此类函数应该放在Module(或C#中的static class)中。

答案 1 :(得分:0)

如果类的方法不需要类对象的实例,那么最好将方法设为Shared。

答案 2 :(得分:0)

  

在课程中使用共享函数/方法是一种好习惯吗?

没有。通常开发人员称这些帮助程序类。一开始可能看起来不错,但很快就会出现这些助手类疯狂增长并承担很多责任。这些辅助类本质上是静态的。 OO设计的这些voilate SRP(单一责任原则)。我称他们为上帝班。他们知道一切:)

您应该更喜欢使用公共基类或抽象类。