苏州高端网站设计企业西安网络科技有限公司有哪些
news/
2025/9/22 18:05:00/
文章来源:
苏州高端网站设计企业,西安网络科技有限公司有哪些,gif图片动态素材网站,软文推广代理平台1. 引言
限界上下文可以拆分为两个词#xff0c;限界和上下文。限界#xff1a;是指一个界限#xff0c;具体的某一个范围。上下文#xff1a;个人理解就是语境。
比如我们常说的段子#xff1a; “我想静静。”这个句子一般是想表达“我想静一静”的意思。但是我们却把…1. 引言
限界上下文可以拆分为两个词限界和上下文。限界是指一个界限具体的某一个范围。上下文个人理解就是语境。
比如我们常说的段子 “我想静静。”这个句子一般是想表达“我想静一静”的意思。但是我们却把它玩笑成“静静是谁”。可见上下文语境很重要。 这个例子只是个开胃菜我们接着往下看。
2. 案例分析 整个应用程序之内的一个概念性边界。边界之内的每种领域术语、词组或句子--也即通用语言都有确定的上下文含义。边界之外这些术语可能表示不同的意思。 每次看到这种解释就头大。我们还是结合我们的案例来聊一聊吧。
根据上一节对领域的剖析我们把案例主要拆分成几个子域其中销售子域是核心域商品子域和物流子域为支撑子域。在这三个子域中都要和商品打交道。如果把商品抽象为Product对象的话按我们一般的常规思路抛开子域的划分来说不管是商品销售还是发货我们都可以共用同一个Product对象。但在DDD中在商品子域和销售子域中可以共享这个Product对象但在物流子域就有点大材小用。为什么呢因为毕竟物流子域关注的是商品的发货处理和物流跟踪。针对发货流程而言我只关心商品的数量、大小、重量等规格而不必了解商品的价格等其他信息。所以说物流子域应该关注的是货物的发货处理而不是商品。那为什么我们之前的开发思路会共用同一个Product对象呢答案很简单没有进行领域的划分。把整个项目一概而论统一建模导致的结果。在DDD的思想下当划分子域之后每个子域都对应有各自的上下文。在销售子域和商品子域所在的上下文语境中商品就是商品无二义性。在物流子域的上下文语境中我们也可以说商品的发货处理但这时的商品就特指货物了。确定了真实面目之后我想我们也会不由自主的抽象一个新的Cargo对象来处理物流相关的业务。这也是DDD带来的好处让我们更清晰的建模。
3. 限界上下文的命名
限界上下文只是一个统一的命名在我们划分子域后每个子域一般对应一个上下文也可以对应多个上下文。但如果子域对应多个上下文的时候就要考虑一下是不是子域能否继续划分。命名方式很简单领域名上下文。比如我们的销售子域对应销售上下文物流子域对应物流上下文。
4. 总结
通过我们上面的举例分析限界上下文也并不是一个高深的概念。用官话来说限界上下文主要用来封装通用语言和领域对象。按我个人的理解它就是用来为领域提供上下文语境保证在领域之内的一些术语、业务相关对象等通用语言有一个确切的含义没有二义性。
相关文章
DDD理论学习系列1-- 通用语言DDD领域驱动之干货 一DDD理论学习系列2-- 领域从事件和DDD入手来构建微服务WeText项目一个基于.NET实现的DDD、CQRS与微服务架构的演示案例【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
原文地址http://www.cnblogs.com/sheng-jie/p/6881316.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909914.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!