ASP.NET MVCでのRepositoryパターン

デブサミで、Daoという名前をやめてRepositoryにすればDDDというくだり(やや冗談)があった。
実は、ちょっと前から.NETのサンプルがDataAccess的なものからRepositoryに変わっていてやや気になっていました。
最初はNerdDinnerというASP.NETチュートリアルアプリが2009年3月に公開され、ここに書いてあるようにリポジトリパターンを使っています。
また、2008年12月頃MIXというイベント向けに公開されたASP.NET MVCを使ったブログエンジンのOxiteでもリポジトリパターンが使われてます。

このようなMicrosoftが提供するサンプルがDDDの影響を受けているのかはわからないけど、ただ、OxiteではInfrastructureという名前空間を用意したり、モデルにEntityという名前を使ったりとDDDの影響をうけているというような気がして仕方なかったです。

ちなみに、Oxiteは最初の頃のコードが読みにくく酷評されていました。そのためRobConeryとかがリファクタリングしてずいぶん読みやすいコードになりました。Oxiteリファクタリングのサンプルとしても面白いと思います。



参考(書籍やWikipediaにある.NETツール等)