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はリファクタリングのサンプルとしても面白いと思います。