美文网首页
不要将聚合根或者实体作为函数参数

不要将聚合根或者实体作为函数参数

作者: 寻找无名的特质 | 来源:发表于2022-06-25 05:16 被阅读0次

今天在进行PoemGame中CheckAnswerService 的单元测试,发现单元测试不好写,因为需要测试的方法是这样的:

public async Task<bool> CheckAnswer(Game game, string answer)

传入的参数是Game聚合根,在测试时,必须先创建Game实例,才可以进行测试,并且各种测试场景必须通过创建不同的Game实例来实现,这是第一个问题。第二个问题是,在这个函数中有可能修改Game的状态,这是我们所不希望的。因此,这个函数的入口,应该是一个DTO,在需要调用函数的位置,初始化这个DTO。这样将Game和Service进行解耦。

相关文章

  • 不要将聚合根或者实体作为函数参数

    今天在进行PoemGame中CheckAnswerService 的单元测试,发现单元测试不好写,因为需要测试的方...

  • JavaScript高阶函数

    高阶函数的满足下面的条件之一: 函数作为参数被传递 函数可以作为返回值被返回 函数作为参数传递 为什么要将函数作为...

  • 领域模型:聚合、聚合根

    聚合 聚合Aggregate就是一组相关对象的集合,我们把它作为数据修改和访问的单元。一个聚合包含聚合根、实体和值...

  • 领域模型核心概念:实体、值对象和聚合根(未完工)

    聚合根、实体和值对象 实体有ID标识,有生命周期,有状态(用值对象来描述状态),实体通过ID进行区分聚合根是实体,...

  • node 异步编程

    高阶函数:把函数参数作为参数,或作为返回值 偏函数: 将传入参数作为判断或者其他逻辑条件 注意点 异常处理 异步I...

  • js原生实现promise

    Promise构造函数接受一个函数作为参数,函数里面有两个参数resolve和reject分别作为执行成功或者执行...

  • C语言中字符串常量可以作为函数的实际参数吗?

    补充:字符串常量可以作为函数的实际参数。只需要将该函数的形式参数在声明函数时定义为字符型指针即可。

  • 第九章 SQL聚合函数 MIN

    第九章 SQL聚合函数 MIN 返回指定列中的最小数据值的聚合函数。 大纲 参数 ALL - 可选-将聚合函数应用...

  • DDD落地过程中关于聚合的思考

    前言 聚合是由实体和值对象组成的一个整体概念,聚合根就是组成这个聚合的一个实体。 聚合设计原则 参照沃恩弗农: 1...

  • Kotlin-----方法进阶

    在kotlin中我们将函数作为参数或者返回值的函数叫做高阶函数,也就是使用方法体作为参数的方法叫做高阶方法。 函数...

网友评论

      本文标题:不要将聚合根或者实体作为函数参数

      本文链接:https://www.haomeiwen.com/subject/fkaamrtx.html