关于DDD概念的一些理解和困惑,烦劳Banq点拨
值对象 value object
在开发时产生的一些特定要求的对象,如多个实体对象与多个属性(如一个USER,并加上验证码组成一个值对象)
实体对象(持久化对象) persistent object
基本上对应数据库进行持久化而产生的对象,与数据库表结构基本一一对应
域模型对象
一些在分析设计阶段被抽离出来的问题本质,基本上所有的操作,业务逻辑都是针对域模型展开的。域模型中需要有一些基本对本身的简单操作
dao层
封装了底层的数据库操作
服务层
封装了业务逻辑操作,调用dao层的方法
仓库层
针对域模型的管理,如对域模型的增删等(在学习jj3的代码时,在服务和仓库中都有dao对象的存在,于是对于仓库的作用不是非常清楚)
接下来是我个人的一些理解,难免有错,还望指正:
1.域对象模型与值对象还是有交集,因为需求中的模型与最后需要持久化的对象还是有很多相似之处的
2.服务层相当于一个业务操作+业务控制层?
4.感觉域模型对象与值对象和实体对象有重合之处,值对象用于前台请求向后台发送数据,实体对象用于控制层处理后持久化,域对象模型感觉上是一个重要的部分,实际中却不知如何准确的应用
3.系统整个流程如下:
前台请求->action等控制器->服务层->dao->数据库
(域模型?)值,实体对象贯穿其中