最近在看ASP.NET MVC的一些示例,发现我看到的所有示例中都使用到了Repository模式,无一例外。
Martin Fowler给这个模式的定义是:通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。
这个定义比较理论和抽象,根据Respository模式在示例中的实际目的小结一下:
1 Repository模式是架构模式,在设计架构时,才有参考价值;
2 Repository模式主要是封装数据查询和存储逻辑;
3 Repository模式实际用途:更换、升级ORM 引擎,不影响业务逻辑;
4 Repository模式能提高测试效率,单元测试时,用Mock对象代替实际的数据库存取,可以成倍地提高测试用例运行速度。
评估:应用Repository模式所带来的好处,远高于实现这个模式所增加的代码。只要项目分层,都应当使用这个模式。