领域驱动设计的模型是怎样的?

发布于 2022-09-11 14:33:52 字数 205 浏览 13 评论 0

领域驱动设计的模型是怎样的?百度知乎掘金搜了一下,感觉好空洞,没搜到能指导具体实践的模型。
有个视频大概讲到,说领取驱动设计分为四层:
1、应用层
2、UI层
3、领域层
4、基础设施层
它们之间的关系如下:
1、基础设置层服务于领域层和UI层;
2、领域层和UI层服务于应用层。

但仍感觉不是很清晰,能否请大佬描述清晰一点,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱你不解释 2022-09-18 14:33:52

举一个最简单的例子,比如一个课程管理系统,有老师,学生,课程,班级等对象类型,传统的贫血模型下,service层处理业务逻辑,也就是调用各对象增删改查;
在ddd的模式下,业务逻辑由以上各实体类去负责,学生选择某个课程,这个操作由学生发起,最终的结果是数据库中该学生与该课程增加一个关联。
数据的读写是与业务逻辑无关的,那么这个过程就缺少了一个中间件,我们用事件去弥补这块。学生选择了某个课程,其实就是触发了一个选课事件。
这个时候则需要抽象出一个课程服务去处理这个事件,比如判断选课资格等业务逻辑,并生成数据对象传给数据层进行增删改。
那么这里学生和课程服务就是领域层,而数据库操作则属于基础服务层的。
UI层是不准确的,应该是对客户端提供的接口,笼统说是表现层,既可以是后端渲染的如jsp,也可以是前后端分离下的数据接口。
当后端拿到前端的数据后,首先得判断这些数据应该交给哪些领域对象去处理,这一层便是应用层。
ddd的核心就是oo,所有的业务逻辑都可以落地为领域对象的行为逻辑,理解了这一点再去理解其他的概念就会容易很多。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文