English 中文(简体)
CQRS - 指挥部是否应当试图建立“复合”总实体?
原标题:CQRS - Should a Command try to create a "complex" master-detail entity?

我正在阅读Greg Young和Udi Dahan关于Kery Responsibilty隔离指挥部的思想,以及我所阅读的许多东西与我一道。 我的领域(我们正在运送的车辆)有一条路线的概念,其中包含一条或多条通道。 我需要我的客户能够把这些内容放在我们的系统中,叫上网络服务,然后能够检索有关路线和车辆进展的信息。

过去,我将开设“执行”DTO课程,这些课程与我的门类非常相似。 客户将创建一条路线,设置一系列的“停止使用”网络,并在路道通过。 当他们问我们的系统时,我会把同样的物体回去。 CQRS的一个吸引力方面是,路塔可能拥有客户想要询问的所有财产,但在他们创建路线时没有商业环境。 因此,我设立了一个单独的“创造机会”类别,在称之为“共同”时采用这一类别,并设立“DTO”路线,作为争.结果返回。

class Route{
    string Reference;
    List<Stop> Stops;
}

但是,我需要我的客户在铺路时向我提供路线和停止细节。 正如我所看到的那样,我可以这样说。

• 放弃我创建的“停止”财产,即一系列的“隐蔽”财产,代表了他们为每一停工提供的数据,但我称之为的是什么? 这并不是我所说的话,我叫DTO在我的道路上,但我不喜欢“CreateStopRequest”。 我也想知道,我是否坐在《世界人权宣言》的思想中,这里指的是掌握详细信息,并要求客户也这样做。

class CreateRouteRequest{
    string Reference;
    ...
    List<CreateStopRequest> Stops;
}

They call CreateRoute, and then make a number of calls to an AddStopToRoute method. This feels a bit m或e "behavioural" but I m going to lose the ability to treat creating a route including its stops as a single atomic command. If they create a Route and then try to add a Stop which fails due to some validation problem they re going to have a partially c或rect Route.

The fact that I can t come up with a good name f或 the list of "StopCreationData" objects I d be w或king with in option 1, makes me wonder if there s something I m missing.

问题回答

我认识到,这是个真正老的岗位,但我最近一直在处理一些类似的模式,并认为有必要为此作出贡献。 我认为,造成欧佩斯脱节感的一件事是,它们把域名hoe为自己的业务语言,而不是使其设计符合领域。

停机是使用“酸”作为ver。 我发现,“仇恨”与“灵魂”一样,我们经常在开始DDD时采用这种ver语,因为技术似乎较少。 这里已经存在“翻新”的路线,尽管如此。 他们只是被记录在系统中。 同样,这条路上已经停泊,但正在记录之中。 简单地改变观念和措辞,或许通过使用纪录片和选择性地收集纪录片,可以解决混淆问题。 允许独立发送停止记录指挥,也将在施工方面提供更大的灵活性,并加强APIC。

我也同意Szymon关于请求与指挥的看法。 这种措辞也导致认为有违债权人的做法。 如果说有一件DDD教授我的话,那就是,我们在项目上使用的言词并不重要,而是极其重要的。

我不认为你找不到任何东西。

class CreateRouteRequest{
    string Reference;
    ...
    List<CreateStopRequest> Stops;
}

看看我的罚款。 我认为,使用AddStop ToRoute的替代办法并不是一个好的想法,因为它造成了太长的聊天接口,可以远距离有效使用。

然而,你使用“创造力”*/em>* 似乎表明你正在使用请求/答复模式。

如果你真的向服务器发出指挥,服务器不应退回反应标/门槛。 你们的服务只能暴露出一种可耻的通商法,并且呼吁通过你的创造力。

请求/答复并不恰当。





相关问题
DDD - Returning entity in response to a service operation

I am new to domain driven development & have a simple question. If a service needs to generate some entity as a response to an operation then how should it be done? One of the ways is to inject ...

Domain Driven Design efforts in dynamic languages? [closed]

Are you aware of any DDD efforts in a dynamic language ? Practical resources on DDD tend to decrease quite dramatically when straying from enterprise-oriented solutions (a google search exluding C#, ....

Accessing domain objects in the view

If I don t want to expose the internal state of my Domain Objects, but I need to display them, I can think of three approaches. Which of these is the most "correct" (if any?). The "DTO/ViewModel ...

DDD screen cast question?

I wathced a screen cast on DDD by Greg Young the other day which spoke about persisting all state transitions of an object, instead of it s state when saved, then to load it "replay" all these ...

How to fluent-map this (using fluent nhibernate)?

I have two tables in my database "Styles" and "BannedStyles". They have a reference via the ItemNo. Now styles can be banned per store. So if style x is banned at store Y then its very possible that ...

热门标签