Repository模式

Repository模式的两种写法与疑惑

现如今DDD越来越流行,园子里漫天都是介绍关于它的文章。说到DDD就不能不提Repository模式了,有的地方也叫它仓储模式。

很多时候我们对Repository都还停留在Copy然后使用的阶段, 我注意到Repository模式有两种流行的设计方式。

今天我就是想跟大家讨论下这两种设计方式之间的区别,同时弄清楚哪种方式更合理(无需纠结代码细节),见下图:

左右两边代码比较:

1、左边的Repository代码在实际使用中是最常见的,右边的使用更少一些。

2、左边代码的更难理解一些,右边的代码中规中矩,易于理解。

3、左边代码使用了IUserRepository : IRepository<User>,选择的是接口的继承,将Repository中对Entity的操作抽象为通用的CRUD操作和Entity的特殊操作两部分,但整体看起来是先分开后合并为一体,而右边的则没有采用接口继承方式。

原文地址:https://www.cnblogs.com/Leo_wl/p/4532400.html