質問: Visual Studio 2019・C#でWindows FormsやASP.NETのツールを作っています。その時によく思うのですが、ボタンや処理が多くなってくると、1つのpartial classの中に ``` private void Button1_Click(object sender, EventArgs e)・・・・ private void Listbox1_SelectedIndexChanged(object sender, EventArgs e)・・・・ ``` などのように、処理がどんどん増えていって、だんだんと視認性が悪くなっていきます。なので今までは別のファイルを作って、『public partial class Form1』などとして別ファイルにわけたりしているのですが、このやり方も良くないことは知っていて、腑に落ちる作り方ができていません。 皆さんはこのように1画面にボタンが多くてコードが長くなってきたとき、どのようにしているのでしょうか。今まで完全に我流で今までやってきたのと、複数人でプログラムを作ったことがないから何とかなっていたんだとは思いますが、よろしくお願いします。
回答: こんにちは。 「巨大クラス=悪」ではないと思いますよ。肥大化したクラスはよろしくないですが、必要最小限のクラスが巨大になった場合、「必要最小限」が妥当ならそれは妥当です。GUIクラスの場合、フレームワーク上の制約があるのでなかなかクラス分割も困難ですから。 partialクラスを使ってファイル分割して視認性を保つのも良い工夫と思います。 GUIを司るクラスがあまりに大きくなるようなら、MVCの考え方を導入するのもありと思います。これは機能分割のための1指標ですので。(デザイナーがいないプロジェクトにMVCを適用するのはどうかとも思いますが、MVCは結構メジャーですのでGUIクラスの分割指標として使ってみるのも手と思います。)