A-TAK.COM

データベースアクセス関連のコントロールとMVCモデル

※Amazonのアソシエイトとして、A-TAK.COMは適格販売により収入を得ています
※本サイトではその他アフィリエイトも利用しております。

シェア

最近になって、Visual Studio .NETで本を見ながらADO.NETとかDataSetとかDataGridを動かし始めたのですが、どうも気になることがあります。
アプリケーション構築の考え方として世の中には「n階層システム」とか「MVCモデル」とかありますよね。ところが、Visual Studio .NETの「データ」に表示される各種コントロールはどうもこれと相反しているように思います。

Windowsフォーム上のDataGridコントロールにデータベースの内容を表示させたい場合は、「データ」タブにある各種コントロールを使用するのが一番手っ取り早いです。
しかし、SQLConnectionというコントロールをフォームにドロップして接続の設定を行い、それに関連したDataAdapterやDataSetをまたフォームにドロップして、それをDataGridのソースにつなげて・・・という感じで作っていくと、データベースアクセスの部分と画面表示部分が混在してしまい、MVCとかの考え方から見ると「良くない」のとかなぁと感じるのです。
もちろん、コントロールを使わずに、コードでDataSetを生成したりSQL Serverに接続したりは出来るので、そうすればしっかりとViewとModelを分離することは出来るのですが、そうすると便利なGUIの設定ツールが使えない(ですよね?)。
これはDataSetやDataAdapterをモデルと見なしてやれば、気分的には割り切れるような気もします。データベースアクセス以外のビジネスロジックは他のクラスに追い出すとしてですね。でも、ある特定のテーブルとフォームが密接にからみつくのは変わらないので、それでもよし、なのかもっと汎用的にするために、コントロールは使わずにクラスを自分でNewしていくかは、やる内容次第でしょうか?
このあたりってみなさんどんな風に考えてるんだろうなぁ。


シェア

投稿日

カテゴリー:

投稿者:

タグ:

カテゴリ一覧