zoukankan      html  css  js  c++  java
  • 探究Repository模式的两种写法与疑惑

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

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

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

    左右两边代码比较:

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

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

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

    上面是我个人对Repository两种组织方式的理解,但具体哪一种设计更优雅,两者的设计意图和区别在哪???其实没有定论。所以,也欢迎你发表一下自己的看法,欢迎拍砖。

  • 相关阅读:
    处理数据
    Vue--Vue常用指令及操作
    Vue--Vue实例
    ES6--解构赋值
    ES6--入门
    前端模块化开发
    Node.js--入门
    HTML5--canvas与svg的使用
    input整理
    移动端开发入门
  • 原文地址:https://www.cnblogs.com/huangzelin/p/4530950.html
Copyright © 2011-2022 走看看