1

長いタイトルでごめんなさい。これは、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
4

3 に答える 3

2

それがよくあるパターンです。

ただし、そのような関数はModule(またはstatic classC#) で使用する必要があります。

于 2012-08-02T20:06:12.250 に答える
0

クラスに共有関数/メソッドのみを含めるのは良い習慣ですか?

いいえ。通常、開発者はこれらのヘルパークラスを呼び出します。最初は問題ないように見えるかもしれませんが、すぐにこれらのヘルパークラスは狂ったように成長し、多くの責任を負います。これらのヘルパークラスは本質的に静的です。これらは、オブジェクト指向設計のSRP(単一責任原則)を無効にします。私はそれらを神のクラスと呼んでいます。彼らはすべてを知っています:)

代わりに、共通の基本クラスまたは抽象クラスを使用することをお勧めします。

于 2012-08-02T20:11:00.890 に答える
0

クラスのメソッドがクラス オブジェクトのインスタンスを必要としない場合は、メソッドを Shared にすることをお勧めします。

于 2012-08-02T20:09:10.407 に答える