.NET 6开发TodoList应用时,如何构建领域实体及其设计理念?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3913个文字,预计阅读时间需要16分钟。
需求+下一篇文章中,我们完成了数据存储服务的接入,从此篇开始将正式进入业务逻辑部分的开发。首先需要定义和解决的问题是如何根据+TodoList+项目的需求,设计怎样的数据实体。
需求
上一篇文章中我们完成了数据存储服务的接入,从这一篇开始将正式进入业务逻辑部分的开发。
首先要定义和解决的问题是,根据TodoList项目的需求,我们应该设计怎样的数据实体,如何去进行操作?
长文预警!包含大量代码
目标
在本文中,我们希望达到以下几个目标:
- 定义领域实体;
- 通过数据库操作领域实体;
原理和思路
虽然TodoList是一个很简单的应用,业务逻辑并不复杂,至少在这个系列文章中我并不想使其过度复杂。但是我还是打算借此简单地涉及领域驱动开发(DDD)的基础概念。
首先比较明确的是,我们的实体对象应该有两个:TodoList和TodoItem,并且一个TodoList是由多个TodoItem的列表构成,除此以外在实际的开发中,我们可能还需要追踪实体的变更情况,比如需要知道创建时间/修改时间/创建者/修改者,这种需求一般作为审计要求出现,而对实体的审计又是一个比较通用的需求。所以我们会将实体分成两部分:和业务需求直接相关的属性,以及和实体审计需求相关的属性。
本文共计3913个文字,预计阅读时间需要16分钟。
需求+下一篇文章中,我们完成了数据存储服务的接入,从此篇开始将正式进入业务逻辑部分的开发。首先需要定义和解决的问题是如何根据+TodoList+项目的需求,设计怎样的数据实体。
需求
上一篇文章中我们完成了数据存储服务的接入,从这一篇开始将正式进入业务逻辑部分的开发。
首先要定义和解决的问题是,根据TodoList项目的需求,我们应该设计怎样的数据实体,如何去进行操作?
长文预警!包含大量代码
目标
在本文中,我们希望达到以下几个目标:
- 定义领域实体;
- 通过数据库操作领域实体;
原理和思路
虽然TodoList是一个很简单的应用,业务逻辑并不复杂,至少在这个系列文章中我并不想使其过度复杂。但是我还是打算借此简单地涉及领域驱动开发(DDD)的基础概念。
首先比较明确的是,我们的实体对象应该有两个:TodoList和TodoItem,并且一个TodoList是由多个TodoItem的列表构成,除此以外在实际的开发中,我们可能还需要追踪实体的变更情况,比如需要知道创建时间/修改时间/创建者/修改者,这种需求一般作为审计要求出现,而对实体的审计又是一个比较通用的需求。所以我们会将实体分成两部分:和业务需求直接相关的属性,以及和实体审计需求相关的属性。

