ASP.NETのセッションをタイプセーフに取り扱うクラスの作成

CodeZineでCool!なエントリを見つけたのでご紹介したいと思います。

[CodeZine]ASP.NETのセッションをタイプセーフに取り扱うクラスの作成
[ひぐたぅん]ASP.NETのセッションをタイプセーフに取り扱うクラスの作成

Sessionを操作するのはHashtableのようにキーを与えてobjectで取得し、型変換処理を行う訳ですが、この方法を使うとインテリセンスが効いてくれるので、大変使いやすくなります。
ラッパークラスで吸収する形なので初心者にも分かりやすいのが素晴らしいと思います。


実は、私も同じようなクラスを作ろうと思っていたところだったのですが、いいラッピングの仕方が思いつかず今に至っておりました。
著者のHigtyさんの許可が頂けたらですが、私のやりたいことを組み合わせたカスタムバージョンを公開したいなあと思いました。

やりたいこと
・staticメソッドではなくて、クラス自体をSingletonにする
・Session、QueryString、Cookie、ViewStateのBaseクラスを作成し、サブクラスはプロパティのみの実装とする
 Sessionをひとまとめではなく、なんらかのグループで纏めたい場合もあるので、サブクラスできるのは便利だと思う
・機能と実装を分離する形で、実際のデータ取得をするクラスに委譲するようにBaseクラスを実装する
 データ取得クラスは実行時に入れ替え可能にする。そうすることでNUnit等からSessionクラスを仮想操作できる
 仮想操作用としては、Hashtableでも使えばよいと思う。

と、いったところでしょうか。
頭の中ではもうできていたりします。

投稿者: ♪ 日時: 2007年04月06日 00:19 このエントリーをはてなブックマークに追加 このエントリーをYahoo!ブックマークに登録 Save This Page to del.icio.us このエントリーをlivedoorクリップに追加 このエントリーをニフティクリップに追加 このエントリーをBuzzurlに追加このエントリーをBuzzurlに追加 このエントリーをBlogPeople Tagsに追加 このエントリーをBlogPeople Instant Bookmarkに追加 このエントリーをPingKingポッケに追加 このエントリーをFC2ブックマークへ追加 このエントリーをnewsingへ追加 Yahoo!ブックマークでこのサイトを登録している人数 人が登録

トラックバック

このエントリーのトラックバックURL:
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/371

コメント: ASP.NETのセッションをタイプセーフに取り扱うクラスの作成

こんばんは。
ぜひ公開してください。
私自身も勉強になることがあると思うので。
おっしゃられるとおり、staticメソッドではなくシングルトンパターンという手もありますね。
抽象度を高くするとプログラムの初心者の人にはわかりづらくなるのでそこらへんの着地点をどこにするかが難しいところです。
できあがったらご連絡ください。
ぜひ参考にさせていただきます。

投稿者 Higty | 2007年04月06日 00:33

コメントありがとうございます。

おっしゃられているように、抽象度はなかなか難しいところですよね。
私も、プログラムの初心者でも分かるように作るように心がけたいものです。

投稿者 | 2007年04月06日 00:54

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)