DataSourceコントロールが属するレイヤ
ここ数日,DataSourceコントロールが頭の中をもやもやとしています.先ほど帰宅途中に思いついたことがあったので,忘れないうちに書き留めておきます.
かりにレイヤ構造がプレゼンテーション層・ビジネスロジック層・データアクセス層とあったとして,DataSourceコントロールはやっぱりプレゼンテーション層なんだと思います.非UIではありますが,Webコントロールですから.かりにDataSourceコントロールを他の層に位置づけた場合,その層はプレゼンテーション層に依存することになってしまうので具合が悪いです.
ちなみに,ASP.NETにおけるコードビハインドモデルによってMVCアーキテクチャを実現,というのはちょっと違う気がします.確かにWebフォームとビハインドコードによって見た目と処理が分かれます.しかし
- Control: ビハインドコード
- View: Webフォーム
ではなく,
なのかなと.いわゆるWeb系のMVCではなくて,Form系の(ちょっと懐かしい感じのする)MVC.いや,単なる思い付きなのでまったく根拠はないのですが,なんか合ってる気がします.
そんなわけで,8月26日の日記についてですが,DataSourceコントロールはModelの変更をViewに通知するための便利な仕組みということで,Model=DBならSqlDataSourceコントロール,そうでないならObjectDataSourceコントロールって感じ.ObjectDataSourceコントロールでキャッシュ機能が使えるかは未調査なんですが,使えない場合は独自に実装(SQLServer2005のクエリ通知機能を使ったりとか)するのが良いのかも.
単なる思い付きなので,明日になったら正反対の結論になってるかもしれませんが……