领域建模原理及秒杀系统模型海量资源.pdfVIP

领域建模原理及秒杀系统模型海量资源.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
领域建模原理及秒杀系统模型大量资源,通过简悦SimpRead转码文章,介绍如何设计秒杀系统架构该系统架构包括下订单下单后关单支付退款筛单投递售后等多个环节应用场景广泛,涉及多个领域,可进一步细化为产品分类物流配送售后支持等业务模块领域模型可方便地识别并区分不同业务模块的功能和责任,有助于优化系统的整体性能和用户体验

本文由简悦SimpRead转码,原文地址

上一讲,我们介绍了如何设计秒杀的系统架构。

在系统中,我们通常把完整的购物流程划分为下单前和下单后。下单是由用户在商城发起的,下单

后订单涉及关单、支付、退款、筛单、投递、售后等流程。

其中,关单涉及库存系统,支付流程涉及支付系统,退款流程涉及、支付和财务系统,筛单涉及风

控系统,投递涉及物流和仓储系统,售后涉及售后系统。

说了这么多,你有什么发现没?仅仅一个订单的完整流程,就涉及好几个系统。

此时,就有一个问题产生了:我们该如何划分各个系统的职责边界呢?也就是说,当订单数据被多个系

统用到时,订单数据到底由呢?

这就是我们本讲要解决的问题——DDD原理及秒杀系统领域模型。

注:本讲结尾还有秒杀系统领域建模的思维导图哦,可以让你一目了然。

DDD原理及作用

什么是DDD?

DDD(DomainDriveDesign,领域驱动设计)是一种软件设计方法,是指在软件设计的过程中始终围

绕领域来构建模型。构建领域模型的过程就叫“领域建模”。

怎么理解呢?

这里的领域,我们可以理解成业务对象。

举个例子:一个订单的业务逻辑总是围绕订单数据来实现的,比如下单、取消订单、订单退款、订

单履约等业务逻辑。而订单数据在面向对象编程中的实体是订单对象,也就是订单的业务对象。

领域模型就是业务对象模型,是描述业务功能实现的对象模型,它是对业务对象协作关系和业务执行逻

辑的一种抽象提炼。

那在一个业务系统中可以有多少领域呢?在一个遵循领域驱动设计的业务系统中,可以有多个领域。但

是,应当有且只有一种领域,因为这样它的职责才非常清晰。另一些非领域,我们统称为子领

域。

现在你是不是理解了领域模型是什么呢?而DDD就是为了解决各个业务系统的职责划分,围绕业务对

象而进行模型建构。

具体它是怎么做的呢?

DDD的作用

DDD将领域模型分为4层,如下图所示:

图1领域驱动设计风格的架构草图(来自DDDSample官网)

这4层分别是:

1.Interfaces用户界面层,有时候也叫呈现层,比如前端或者客户端;

2.Application应用层,负责给用户界面层提供业务应用的业务逻辑,如商城接口服务;

3.Domain领域层,负责某个领域的具体业务逻辑,如的订单;

4.Infrastructure基础设施层,如MQ、MySQL、Redis等。

有了这样的层级划分,加上一些划分层级的规则,我们就能快速找出各个系统的业务边界,将系统的职

责划分清楚,以免逻辑难以。

比个接口是提供给运营前端用的,结果在划分职责的时候将其划分到商城API服务里了,这

样可能会直接给用户,不仅导致逻辑,还存在严重风险。如果按照DDD的分层模型来划

分,我们就能将API服务和管理的职责划分清楚,避免此类问题。

实际上,现代软件系统往往功能复杂,需要微服务化,以便进行长期。而在微服务架构中,由于需

要将业务功能拆分成多个微服务,就涉及领域划分的问题。如果没有DDD的理论指导,我们很可能将

某个功能,划分到错误的微服务里,比如,将订单功能划分到物流服务里。

如果你想了解有关DDD

文档评论(0)

159****9610 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档