なんか、
「実はオブジェクト指向ってしっくりこないんです!」
http://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html

ってのが話題になっていて読んでみた。
 
 僕自身は唯一絶対の手法は無いという考えなので、
考え方自体には無理に反対はしない(同意するというわけでもない)が、
気になったのは本文中の

「共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。」

とコメント中の

「理屈こねてるよりVisual StudioでWEBアプリ作ればそれでいいの。」

って部分。

 ASP.NET をIIS で動かすとき、一つのプロセスあたりで複数のリクエストを同時に受ける。(プロセス自体はは複数にすることはできる。)リクエスト毎にスレッドが作られるから実質的に「マルチスレッド」となる。
したがって、あるリクエストに対応するスレッドで書き換えた static変数がそのスレッドの処理が終了する前に他のスレッドで書き換えらえる可能性があり、
意図してそうしていない場合は
「単一のリクエストでテストしている場合は発現しないが、実環境で同時アクセスがあった場合に発現する」ような危険なバグを含む状態となる。
だから、うかつに static変数を使うべきではない。

 このことは次のページにも記述されています。
(日本語のページは機械翻訳でダメダメなので英語のページを挙げておきます。)
Troubleshooting ASP.NET applications with the use of static keywords
http://support.microsoft.com/kb/893666/en-us

あと、一応僕の過去の日記でちらっとかいてあります。。。。
(「singleton pattern」 と言うよりは「request単位での唯一オブジェクトを扱う singleton pattern の変形」なんですが。)
http://10395.diarynote.jp/200508180846030000

---
平成22年5月18日追記
コメントがいっぱいあるので読み落としてしまっていましたが、
一度失敗をされて今は ASP.NET で static変数は使っていないとの旨の作者の
コメントが件のページありました。
余計なこと書いてしまった。。。orz

コメント