作者回复: 是这个意思。DDD领域建模优先,领域建模的时基本不考虑数据模型和数据库实现。在微服务具体落地的时候才考虑数据实体的设计。
作者回复: 有什么疑问,咱们可以谈讨哈。
作者回复: 这一块研究的还不太深入呢。后面我再研究一下。
作者回复: 是这样的,其实DDD刚出来的时候并不是为微服务设计的。你可以根据自己得需要,做好领域建模和划分好边界,刚开始并不一定要拆的很细,等真正需要拆分的时候再拆,用DDD设计的系统很容易解耦,很容易拆分出微服务来的。
作者回复: 你说的这个场景不是富领域模型,可能找不出聚合根,因此不适合用聚合的方式来做。但是你可以用DDD的分层架构来划分不同的服务,按照外层依赖内层服务的调用关系来开发。
作者回复: 建议你看一下第7节。DDD分层架构:有效降低层与层之间的依赖。里面有详细介绍。
作者回复: 领域建模的目的是为了微服务的设计,领域模型是开始,DDD是一种不同于传统设计的方法 ,先有领域模型,然后才有微服务设计,这样设计的微服务边界很清晰,而不是靠拍脑袋设计微服务。等学完后面全部DDD的内容后,你就知道其中的奥秘了。
作者回复: 走两次就大概知道怎么去做了。理解了理念以后,就不必受一些条条框框的限制了,路是自己慢慢趟出来的,选择最适合自己的方式。
作者回复: 这里的用户你要区分一下。
第一个是操作系统后产生命令或领域事件的操作用户,这个是外部用例中的用户,可以认为是系统管理员。
第二个是系统中用于记录用户信息和体现用户行为的用户实体,这个用户是领域模型的实体对象。
操作用户通过创建用户这个命令产生了用户这个实体对象,在领域模型中创建用户本身也是用户实体的一个行为。
系统由操作用户创建的。操作用户会创建系统这个实体对象。
作者回复: 如果从一个前端来的,你可以做成一个对象,然后在用户接口层完成DTO到DO的转换就可以了。当然DTO和DO之间可以是多对多的转换。
作者回复: 是这样的。
作者回复: 这里是分了一下阶段,命令往往会对应服务。领域建模过程通常不知道命令是哪种类型的服务,所以统称命令。微服务设计阶段基本就知道是哪种类型的服务来,所以可以明确出应用服务了。
作者回复: 不同的公司情况可能会不一样。有的时候在HR创建员工时,并不一定会创建系统用户,因为用户是属于系统的。如果需要给这个员工赋予系统权限,这时候就需要从HR获取员工信息来创建用户,所以创建用户这个过程分成了两个阶段:先获取员工信息,然后再创建用户。
作者回复: 第十八节很详细了呀。
作者回复: 在权限设置的时候,系统会有多个岗位,岗位对应到系统的菜单权限。
作者回复: 传统的需求分析过程大概是这样的:业务人员提出需求-》完成需求分析和设计-》完成系统设计-》开发。。。
需求分析过程中可能也会用到用例分析之类的,但是流程性很明显,主要有需求分析人员完成。