DDD CQRS和Event Sourcing的案例:足球比赛(领域驱动设计)


xinwang_m@163.com
2020-07-20 05:20:19 (4年前)
DDD CQRS;Event Sourcing

CQRS作为DDD的最佳实践已经得到广泛承认和普及,下面摘取该文章的PPT部分图片简单讲解一下,如何使用CQRS和Event Sourcing实现DDD系统。

CQRS作为DDD的最佳实践已经得到广泛承认和普及,下面摘取该文章的PPT部分图片简单讲解一下,如何使用CQRS和Event Sourcing实现DDD系统。

首先,领域专家对需求进行定义:

1.举办一个比赛,有两个队参加

2.比赛在某个时间开始,只能开始一次。

3.比赛结束后,统计积分

作为用户,希望看到:

1.参加比赛的队伍名称

2.比赛开始时间

3.比赛结束时间

4.比赛结束后的分数。

好了,搜集到这些需求以后,我们下一步该怎么办呢?

1.如何确定建模的第一步?

2.它是如何和关系数据库有关?

3.建模时如何考虑到用户的操作?获得他们想要看到的数据?

4.当建模时你更关心什么?

传统方式从上面需求中,根据名词或动词法则,得到下面类:

Match比赛

Team队伍

Score分数

MatchService

类的代码如下图所示,并且有Hibernate等ORM的元注解:

,CQRS作为DDD的最佳实践已经得到广泛承认和普及,下面摘取该文章的PPT部分图片简单讲解一下,如何使用CQRS和Event Sourcing实现DDD系统。

首先,领域专家对需求进行定义:

1.举办一个比赛,有两个队参加

2.比赛在某个时间开始,只能开始一次。

3.比赛结束后,统计积分

作为用户,希望看到:

1.参加比赛的队伍名称

2.比赛开始时间

3.比赛结束时间

4.比赛结束后的分数。

好了,搜集到这些需求以后,我们下一步该怎么办呢?

1.如何确定建模的第一步?

2.它是如何和关系数据库有关?

3.建模时如何考虑到用户的操作?获得他们想要看到的数据?

4.当建模时你更关心什么?

传统方式从上面需求中,根据名词或动词法则,得到下面类:

Match比赛

Team队伍

Score分数

MatchService

类的代码如下图所示,并且有Hibernate等ORM的元注解:

0 条回复
  1. 动动手指,沙发就是你的了!
登录 后才能参与评论