Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >业务服务应该跨越有界的上下文吗?

业务服务应该跨越有界的上下文吗?
EN

Software Engineering用户
提问于 2012-10-18 05:45:42
回答 2查看 356关注 0票数 1

首先,我遵循的惯例是,有界上下文是部门的同义词,或者一个部门可能有1到多个有界上下文。

我们有一个有文件服务的客户咨询部门。文档存储在文档存储服务(公司中的所有文档都存储在其中-它是实用程序服务)中,文档服务存储关于该文档(业务服务)的信息。由于它是为客户咨询公司设计的,因此它是与客户有关的信息。

现在,健康和安全需要一个地方来存储有关文档的信息。这是不同的信息,客户咨询,但我已被指示扩大现有的服务,以说明这些额外的信息。我觉得这个服务现在跨越了一个有限的上下文。我担心的是,所有部门最终都会把信息储存在这里,服务会变得臃肿起来,对所有部门来说都是万事俱备。每个文档记录只存储信息的一个子集,因为它只属于一个部门。

当不同部门想要以不同的方式存储相同的信息,或者两个部门希望以相同的方式存储不同的信息时,情况会变得更糟。在我看来,这正是有界上下文的原因。

我认为每个部门都应该有自己的业务服务来获取有关文档的信息,但是使用相同的实用程序服务来实际存储文档。

正确的方法是什么?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2012-12-16 06:54:50

您可能刚刚确定了对一个函数的需求,它不是特定于任何一个部门,而是形成了一种基本的基础结构。考虑形成一个有限制的上下文“基本基础设施”,并在那里分配文档服务。这样,不同的上下文之间就有明确的边界和依赖关系。基本文档服务仍然可以被任何部门使用,而不会影响您的设计。

考虑在更通用的文档服务之上的特定实现,以处理特定于某个部门的功能(或者更确切地说:业务功能)。然后,这些特定的实现将属于各自的有界上下文。例如。

  • 基本基础设施:GenericDocumentationService(文档,属性)-其中文档是要存储的文档,属性是键/值巴黎的列表
  • 客户咨询:ConsultancyDocumentationService(文件,客户)
  • 健康与安全:HealthSafetyDocumentationService(文件、风险、缓解)

例如,客户端和健康与安全实现将验证和处理它们的特定参数,然后使用通用服务来最终存储文档。

注:一般情况下,部门等业务组织结构并不能形成良好的界限。理由:组织结构往往会随着时间的推移而改变,这种变化很可能会使先前确定的边界失效。相反,最好确定核心业务功能,并将这些功能分组到逻辑上具有凝聚力的块中。

票数 2
EN

Software Engineering用户

发布于 2012-11-15 04:19:08

您的文档信息服务没有理由不能被设计成存储在其中的信息片段在它们各自有限的上下文中。事实上,我认为如果系统不是这样设计的话,这将是您计划如何设计系统的自然结果。

如果您的系统有登录名或组,并且文档保存在创建它们的登录/组中,那么这将达到上述目标。

我在把你的文档信息系统和公司的wiki进行比较。一个wiki可以被整个1000名以上的雇佣组织使用,它可能包含对一个人非常重要但对另一个人完全胡言乱语的页面,但是一切都很好,因为各个业务部门通常在wiki上都有自己的页面,而其他业务单位忽略了或者甚至不知道。

是的,您可能需要扩展您的应用程序,以涵盖更广泛和更广泛的受众,但这是任何实际应用程序的目标/噩梦。想一想任何数据库系统-它的目标是解决每个人的数据存储问题无处不在。他们做得多好是值得商榷的,但他们不可能失败,因为每个人都在使用它们。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/170394

复制
相关文章
聊聊有界上下文
在这篇文章中,我将分享我对有界上下文的看法。有界上下文是什么意思?为什么需要有界上下文?
双愚
2018/07/09
2K0
聊聊有界上下文
「领域驱动设计」集成有界上下文的策略
首先,我们看看什么是领域模型,以及它们为什么对领域驱动设计如此重要。领域模型是围绕业务的特定问题的重点知识。
架构师研究会
2019/11/27
5640
看看上下文映射的清晰视图
在我之前的文章中,我详细讨论了有界上下文以及如何处理域的复杂性。最好将域划分为几个子域,并将它们映射到不同的有界上下文,其中每个业务实体/值对象在该上下文中都具有一定的含义,因此业务的每个利益相关者(产品所有者,开发人员,架构师和赞助商)都理解上下文和具有适当分类标准的实体。当我们在商业利益相关者之间以统一的语言讨论域对象时,就不会对命名造成混淆。
Techeek
2018/07/09
1.5K0
看看上下文映射的清晰视图
服务器托管你知道应该怎么做吗?
服务器,作为网站运行或者搭载app相关数据的重要载体,其重要性可见一斑。网站打开速度是否快速,响应是否及时;游戏操作是否流畅等等,这些都是和服务器息息相关的。部分用户会选择寻找IDC运营商,来进行自己的服务器业务。常见的服务器业务有服务器托管、服务器租用两大类别。服务器租用又可以分为高防服务器租用和服务器带宽租用,以及云主机租用。这里不得不提到的就是,用户一定要选择最适合自身企业的服务器配置,不要一昧追求高价格,高价格并不代表是合适的。接下来让我们以北京服务器托管为例,详细介绍一下北京服务器托管需要注意哪些问题。
企商在线
2021/11/29
6.2K0
服务器托管你知道应该怎么做吗?
跨越时空的……
这个段子,跟我要说的其实也没什么关系,只是突然联想起来。昨天情人节,GitHub 将其导航栏由以下这样的风格:
用户2617681
2019/08/08
4030
跨越时空的……
如何构建基于 DDD 领域驱动的微服务?
尽管微服务中的“微”一词表示服务的规模,但它并不是使用微服务的唯一标准。当团队转向基于微服务的架构时,他们旨在提高敏捷性以及自主且频繁地部署功能。很难确定这种架构风格的简单定义。我喜欢Adrian Cockcroft的关于微服务的简短定义:“ 面向服务的体系结构,它由松散耦合的、具有上下文边界的元素组成。”
架构之家
2022/07/12
4510
如何构建基于 DDD 领域驱动的微服务?
应该了解的 10 个 Kubernetes 安全上下文配置
在 Kubernetes 中安全地运行工作负载是很困难的,有很多配置都可能会影响到整个 Kubernetes API 的安全性,这需要我们有大量的知识积累来正确的实施。Kubernetes 在安全方面提供了一个强大的工具 securityContext,每个 Pod 和容器清单都可以使用这个属性。在本文中我们将了解各种 securityContext 的配置,探讨它们的含义,以及我们应该如何使用它们。
我是阳明
2021/04/26
2K0
应该了解的 10 个 Kubernetes 安全上下文配置
基于数组的有界阻塞队列 —— ArrayBlockingQueue
" 在阅读完和 AQS 相关的锁以及同步辅助器之后,来一起阅读 JUC 下的和队列相关的源码。先从第一个开始:ArrayBlockingQueue。 "
程序员小航
2020/11/23
9090
基于数组的有界阻塞队列 —— ArrayBlockingQueue
销售管理者应该关注的业务指标
CRM可以解决企业很多问题,但最让企业管理者喜欢的应该就是管理报表了,在ERP风靡的年代很多人也习惯叫它管理者驾驶舱。之所以叫管理者驾驶舱是因为管理者可以像驾驶员一样通过观察各种状态仪表盘,随时查看企业关键业务的数据指标以及执行情况。
臭豆腐
2019/04/16
9780
销售管理者应该关注的业务指标
支付的新视角,资金业务应该怎么玩?
提起在线支付,大家一定不陌生,毕竟这个行业发展了快20年了。但绝大多数人对支付的了解应该只是浮在水面上的冰山一角,做为支付行业从业者,今天来带大家看看冰山下面的部分:欢迎走进“资金管理”这个神秘领域。
Louis XIV
2024/12/30
1470
支付的新视角,资金业务应该怎么玩?
国际腾讯云业务:应该怎么处理服务器被进犯进黑洞!
买了腾讯云服务器一般自带的防御流量5G,超过就会直接黑洞处理,由于怕影响服务器上其他IP。现在被进犯一般是DDOS进犯。
老鹰飞机@laoying06
2023/05/27
2.1K0
国际腾讯云业务:应该怎么处理服务器被进犯进黑洞!
设计师应该学编程吗?程序员应该懂设计吗?
本文首发于饿了么前端-知乎专栏 如果大家对于前端知识感兴趣,可以通过点击文章下方的阅读全文,来访问专栏地址 在此处再次感谢原作者——王钊 Dzinlife.com 程序员跟设计师之间并不总是能顺畅沟通
用户1687375
2018/06/08
1.8K0
有界数组模板类(类模板)
编写有界数组模板BoundArray(即检查对数组元素下标引用并在下标越界时终止程序的执行),能够存储各种类型的数据。要求实现对数组进行排序的方法sort,及对数组进行查找的方法search。(不能直接调用C++自带的排序或查找函数)
叶茂林
2023/07/30
1580
用友BIP跨越企业数智化服务的“深水区”
一是全资收购APICloud。自此,用友网络将APICloud的移动端低代码开发能力及移动开发生态融入用友BIP,深度布局开发者生态。
曾响铃
2021/07/15
3320
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。每个微服务通常聚焦于某一个特定的业务功能或领域,能够通过轻量级的通信协议(如 HTTP/REST、消息队列等)与其他微服务进行交互。
用户7954602
2024/12/07
3730
微服务架构解析:跨越传统架构的技术革命
公司应该监控员工的上网行为吗?
少部分人可能会觉得只要公司在事前明确说明了,那么监控就监控吧。毕竟这种事情在一些软件公司以前也存在过。
石云升
2022/08/25
7310
公司应该监控员工的上网行为吗?
计算应该与存储分离吗?
这篇文章构思了很久,因为我不是做计算机底层研究的,也没做过数据库,一直在应用层打转转,最多读过几篇相关的文章,所以担心我的知识储备不够写这么一篇比较严肃的话题,后来有朋友说服了我,可以不聊纯技术方面,而是谈谈笔者对大数据时代,计算与存储应该分离吗?于是就有了本文。注意,本文不牵扯到具体的技术细节和代码,要是被读者发现了有错误,请大胆指出。
哒呵呵
2020/04/23
2.4K0
应该切换到Kubernetes Gateway吗?
距离 Kubernetes Gateway API 发布v1.0版本已经过去一个月了,这标志着其一些关键 API 的毕业到普遍可用的状态。
云云众生s
2024/03/28
1240
应该切换到Kubernetes Gateway吗?
基于链表的有界阻塞队列 —— LinkedBlockingQueue
" 上一节看了基于数据的有界阻塞队列 ArrayBlockingQueue 的源码,通过阅读源码了解到在 ArrayBlockingQueue 中入队列和出队列操作都是用了 ReentrantLock 来保证线程安全。下面咱们看另一种有界阻塞队列:LinkedBlockingQueue。 "
程序员小航
2020/11/23
5910
基于链表的有界阻塞队列 —— LinkedBlockingQueue
你应该自带云吗?
利用自带云(BYOC)不仅可以从SaaS服务提供商那里获得更好的优惠折扣,而且你实际上可以拥有基础设施和存储在其中的数据。
云云众生s
2024/03/28
1310

相似问题

有界上下文应该只包含域代码吗?

10

使用业务功能或域定义有界的上下文?

20

有界上下文可以由其他有界上下文组成吗?

20

如何决定什么应该是有界的上下文

10

对于每个EF有界的上下文,我应该有单独的工作单元吗?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文