C#やASP.NETをはじめとするプログラミング技術日記を綴っていきます。
Categories
Archives
メールマガジン
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でも使えばよいと思う。
と、いったところでしょうか。
頭の中ではもうできていたりします。
このエントリーのトラックバックURL:
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/371
こんばんは。
ぜひ公開してください。
私自身も勉強になることがあると思うので。
おっしゃられるとおり、staticメソッドではなくシングルトンパターンという手もありますね。
抽象度を高くするとプログラムの初心者の人にはわかりづらくなるのでそこらへんの着地点をどこにするかが難しいところです。
できあがったらご連絡ください。
ぜひ参考にさせていただきます。
投稿者 Higty | 2007年04月06日 00:33
コメントありがとうございます。
おっしゃられているように、抽象度はなかなか難しいところですよね。
私も、プログラムの初心者でも分かるように作るように心がけたいものです。
投稿者 ♪ | 2007年04月06日 00:54