だらだらやるよ。

こげつのIT技術メモ

Windowsアプリケーションを作るときに昔から悩んでいること

仕事でC#を使う期間はそれなりにあったのだけど、
使う回数はそう多くなかったのでちょっと練りこめてないこと。

フレームワーク的なものを使わないC#Windowsアプリケーションで
なんらかの登録処理を書くとします。

private void btnSave_Click(object sender,EventArgs e){
       string message = "";
       if(!CanSave(out message)) {
               MessageBox.Show(message);
               return;
       }
       Save();
}

とか書くと思うのですよ。
アプリ規模が小さかったり、コントロール数が少ない場合はあんまり困らないのですが、
規模が大きくなってきたり、ひとつの画面内でいくつかの処理を行なう場合に
なんかこうしっくりこないのですよね。
例えばCanSaveメソッドとSaveメソッドの中身をクラスにまとめちゃったりすると、
コントロールから値を引き渡すのが大変だなあと。
でもまあコントロールから値を直接取得するのはやめたほうがいいんですかね。
となると小規模アプリケーション用にも使える何らかの仕組みが必要だよなぁと考えたり。

時間を見つけてはつらつら考えているのですがいまだしっくりした書き方がわかりません。

こう、クラス設計の良い本とかはあるのですけどね、
UIやDBとうまい具合に連携させる方法てのがあんまり紹介されてないんすよね。
僕のアンテナが弱いだけでしょうか??