- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
1)
埃文的书,第。 415:
Also, the critical aspects of the domain model may span multiple Bounded Contexts, but by definition these distinct models can't be structured to show their common focus.
... but by definition these distinct models can't be structured to show their common focus
I assume BCs within CD should only contain core elements, but no generic elements? ...
人们当然应该知道核心域是什么时候
定义 BC。如上所述,理想情况下,它们应该是一对一的。然而,一个
BC 可以被定义为满足系统在非理想情况下的需求
状态。
我假设您是在暗示在非理想情况下 公元前 内 光盘 也可能包含一些非核心元素,也可能在非理想情况下 光盘 可能包含多个 公元前 ?
C)
A domain spans multiple BCs but despite explicit boundaries, domain behavior can certainly span BCs. A context map can describe such cross-BC interactions. The quote itself is based around the idea of a domain vision statement the purpose of which is to highlight the value of the core domain and possibly explain the relationship to BCs.
但是为什么作者使用术语“根据定义”,好像暗示没有办法 BC 是否也可以意外地进行结构化以显示他们的共同关注点?
2)
Domain Model may have several Generic Subdomains GSs , but can a single GS span multiple BCs?
多个 BC 可以使用单个通用子域。我会
在这里避免使用“跨度”一词,因为它过分强调了重要性
整个域模型的通用子域。
一种)
Multiple BCs can make use of a single generic sub-domain
不确定我是否理解您的回复。你是说单 GS 可以包含多个*BC*?
b)
I would avoid the term "spans" here because that overemphasizes the importance of the generic sub-domain for the entire domain model.
也许是一个无用的问题,但您能否详细说明为什么使用术语“跨度”会使通用子域看起来比实际更重要?
回复 Giacomo Tesio:
1)
b)
No, some generic elements often play a key role in the Core Domain. See for example Time, Currency and Money that are present in many Shared Kernel: they are really generic but important to the Core Domain rules.
因此,如果通用元素(例如 Time、Currency 和 Money)是 还有核心域使用,那么只有实现选项是共享内核(即这个通用元素由核心域和任何其他需要它的子域共享),但如果使用通用元素 只有通过 Core Domain,那么我们不应该为 Shared Kernel 烦恼,而是应该直接在 Core Domain 中定义这个通用元素?
1)
c) Context boundaries are defined after term's semantics. In a BC, no term should mean more than one thing (see SRP). When you see that a class has more than one meaning in the domain expert's mind, you know that you have mixed differnt BC.
您能否稍微扩展一下您的答案,因为我不明白您的答案与我的问题有何关联?
第二次更新:
1)
b)
It may also be that a single BC contains multiple sub-domains. This is usually not ideal because it likely indicates a conflated BC.
在阅读本书时,我并没有太注意作者对“子域”一词的使用,但我很确定这本书没有提供子域是什么的彻底定义。那么究竟什么被认为是子域?只是一堆逻辑相关的领域概念?如果是,那么我假设一个子域不应该跨越多个 BC ?
2)
一种)
A signle GS can be used by multiple BCs. This is so because the sub-domain is generic. So the GS doesn't contain the BCs; instead, it is referenced by the BCs.
从您的回复来看,您似乎暗示通用子域从未实现为 BC ?为什么不呢,因为在我看来不同的通用子域可能包含不同的模型和 BC 似乎是分离这些通用模型的理想解决方案?!
3)
你能不能帮我解决以下问题,因为它让我很困惑:如果通用元素(例如时间、货币和金钱)是 还有核心域使用,那么只有实现选项是共享内核(即这个通用元素由核心域和任何其他需要它的子域共享),但如果使用通用元素 只有通过 Core Domain,那么我们不应该为 Shared Kernel 烦恼,而是应该直接在 Core Domain 中定义这个通用元素?
谢谢
最佳答案
1a) 在该引文中,作者指的是整个域,而不是核心域。整个域可以跨越多个 BC。 BC 和核心域之间的关系可能更复杂。域、子域和核心域是问题空间的元素。 BC 是解空间的工件。实际上,它们可能并不总是一对一的,但这是理想的。
1b) 在定义 BC 时,人们当然应该了解核心域是什么。如上所述,理想情况下,它们应该是一对一的。但是,可以定义 BC 来满足处于非理想状态的系统的需求。
1c) 一个域跨越多个 BC,但尽管有明确的边界,但域行为肯定可以跨越 BC。上下文映射可以描述这种跨 BC 交互。引述本身基于领域愿景陈述的想法,其目的是突出核心领域的值(value),并可能解释与 BC 的关系。
2) 多个 BC 可以使用单个通用子域。我在这里避免使用术语“跨度”,因为它过分强调通用子域对整个域模型的重要性。
更新
1b) 核心域可能是用多个有界上下文实现的。这不一定是缺陷,在某些情况下是理想的。也可能单个 BC 包含多个子域。这通常不是理想的,因为它可能表明混合了 BC。
1c) 根据定义,BC 是物理分区的,不应该有直接的依赖关系。我想这就是作者所指的。他强调的问题是,您可以有多个 BC,这需要解释,尤其是在解决单个子域时。
2a) 一个信号 GS 可以被多个 BC 使用。这是因为子域是通用的。所以 GS 不包含 BC;相反,它被 BC 引用。
2b)具有通用子域“跨度”系统可能表明它实际上不是通用子域,而是核心域。这并不是说不能在整个系统中使用通用组件,恰恰相反。然而,在这种情况下,跨越系统的组件只是一个技术轴。
更新 2
1b) 是的,子域是整个域的一个有凝聚力的组成部分。一个子域可以跨越多个 BC。这是可以接受的,因为 BC 是解决方案空间工件,它的存在可能存在技术原因甚至组织问题。例如,在线零售商的域中有一个产品目录子域。这将有一个相应的产品BC。但是,可以将有关产品搜索的附加功能置于产品搜索 BC 中。这仍然是目录子域的一部分,但由于技术原因是一个新的 BC。另一方面,当单个 BC 包含多个子域时,这可能会出现问题。
2a)我认为我对跨度这个词的使用过于语义化。通用子域可以是 BC。但是,必须注意确保通用子域实际上以通用方式使用。
3) 是的。除此之外,像 Money 这样的基类可以为每个子域单独实现,即使它们在多个地方使用。有时复制粘贴是最好的模式。
关于domain-driven-design - 核心域可以跨越多个有界上下文吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15345546/
出现以下错误 Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable D
在调试应用程序时出现以下错误。 The CLR has been unable to transition from COM context 0x3b2d70 to COM context 0x3b2
在 GAE Go 中,为了记录,我们需要使用 appengine.NewContext(r) 创建一个新的上下文,它返回 context.Context。 如何使用此上下文在请求范围内设置/获取变量?
我想使用 Puppeteer 从放置在页面上 iframe 内的选择器中获取数据,该页面在与其父框架域不同的域上运行。因此,我不是任何域的所有者 - 无法使用 frame.postMessage。 试
我正在尝试获取可用的应用程序上下文并想切换到 webview 上下文,但 appium 仅获取 Navive App。 应用程序还启用了 WebView。 Appium 版本:1.10.1 Chrom
这个问题在这里已经有了答案: How to fix this nullOk error when using the flutter_svg package? (7 个回答) 7 个月前关闭。 当我尝
我观看了关于 Core Data 的 2016 WWDC 视频并查看了各种教程。我见过使用 Core Data Framework 创建对象以持久保存到 managedObjectContext 中的
这是代码 obj = { a: 'some value'; m: function(){ alert(this.a); } } obj.m(); 结果是'som
我正在尝试做类似的事情 $(".className").click(function() { $(this).(".anotherClass").css("z-index","1");
var User = { Name: "Some Name", Age: 26, Show: function() { alert("Age= "+this.Age)}; }; fun
我目前正在使用我见过的常见 Context 模式,它允许子组件通过传递修饰函数来更新父组件的状态(即 Provider)通过共享的 Context。 我遇到的问题是,修改函数只引用原始状态,不引用最新
有没有办法让 React Context类型安全与流类型? 例如: Button.contextTypes = { color: React.PropTypes.string }; 最佳答案 不幸
我想知道是否有一种方法可以为不同的功能使用不同的上下文类。 我希望有一个功能使用 MinkExtensions 进行浏览器测试,另一个功能使用和 HTTP 客户端(如 Guzzle)进行 API 测试
我有这个配置文件 apiVersion: v1 clusters: - cluster: server: [REDACTED] // IP of my cluster name: stag
我在实现非抢先式调度时遇到了用于初始化TCB的代码。 typedef struct TCB_t { struct TCB_t *next; struct TCB_t
我想将一个函数设置为数组中每个元素的属性,但使用不同的参数调用它。我想我会使用匿名函数来解决它: for ( var i = 0; i < object_count; i++ ) { obje
这个问题已经有答案了: How to access the correct `this` inside a callback (15 个回答) 已关闭 7 年前。 我正在做一些练习,但我在管道方法中丢
我正在尝试通过 Java 和 Android Studio 学习和制作 Android 应用程序。我对Java的了解程度是两年前几个小时的youtube学习和大学基础类(class)。不过我确实知道如
我在(这个)上遇到了问题。错误ImageView无法应用。我在 fragment 类中执行此代码。 ViewFlipper v_flipper; @Nullable @Override public
我想使用 openGL 的某些功能,但与渲染视觉内容无关。有没有办法在没有任何依赖性的情况下创建它(不是对 Windows,也不是某些包[SDL,SFML,GLUT])?只允许使用没有外部库的库,就像
我是一名优秀的程序员,十分优秀!