gpt4 book ai didi

oop - 领域驱动设计 : Is a Subdomain a class?

转载 作者:行者123 更新时间:2023-12-05 02:11:04 26 4
gpt4 key购买 nike

让我们考虑使用 OOP。

子域是一个类吗?限界上下文是一组一起用于唯一目的(理想情况下)的类吗?子域可以包含一组类吗?如果是,那么 Bounded Context 有什么区别?

例如,我们有一个域:Online shop。

我们将在线商店分为 2 个子域:客户支持和购物。

我们看到这样划分还是很大的,所以划分:

  1. Customer、Supporter、Ticker 子域中的客户支持。现在这样的子域变成了类,划分的子域变成了有界上下文。
  2. 在客户、购物车、付款子域中购物。现在这样的子域变成了类,划分的子域变成了有界上下文。

可能这不是子域的最佳示例,但重点是让您了解我的问题

最佳答案

我会尽力解释,你在混淆东西。

  • 子域。它属于问题空间。在这里你没有类(class)或任何关于编程语言的东西。你有概念、关系等。当你必须解决一个问题时,你有那个问题的领域。如果那个问题很宽,你把它分成更小的子问题,这些子问题也是问题。所以子域是子问题的域。
  • 限界上下文 (BC)。它属于解空间。在这里你确实有类或任何其他编程语言的工件。如果您有问题,BC 就是实现和解决该问题的应用程序。您对问题的领域进行建模,以便拥有领域模型。理想情况下,BC 与子域 1:1 相关。

BC 是一个类还是很多类,这取决于将域拆分为子域时的粒度,以及如何对子域建模。没有关于 BC 应该有多少个类的任何规则。

希望我的解释对您有所帮助。

关于oop - 领域驱动设计 : Is a Subdomain a class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57977912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com