domain-events

    3热度

    2回答

    考虑具有许多属性的聚合。例如UserGroup。如果我要发布一个UserGroupCreatedEvent我可以做两两件事: 复制从刚刚创建的用户组的属性,以 UserGroupCreatedEvent并复制它们的值。 OR: 引用新的用户组的UserGroupCreatedEvent 中在许多例子中,像轴突的联系人应用程序,我已经看到了房地产的重复。我想知道为什么,以及如果在现实世界的CQRS应

    6热度

    1回答

    我一直在研究域驱动设计与domain events。我真的很喜欢这些事件提供的分离关注点。我遇到了一个持久化域对象和引发域事件的问题。我想在域对象中引发事件,但我希望它们是持久性的无知。 我已经创建了一个基本的ShoppingCartService,用这种方法Checkout: public void Checkout(IEnumerable<ShoppingCartItem> cart, Cus

    0热度

    1回答

    我目前正在试图找到一种方法来映射从一个对象到另一个,其中第一个是域模型,另一个是代表相同事物的对象,但对于完全不同的对象使用。一个简单的例子: public class SnmpDeviceService { private readonly Dictionary<int, 3rdPartyLibObj> devices; private SnmpLibrary snmp;

    5热度

    2回答

    我想在我的项目中使用CQRS模式的元素。我不知道我是否正确地使用Command and Events。 我不确定的事情是如果事件可以调用命令。为了更好地展示我想要做什么,我将使用图表和示例。 这是一个示例: 用户调用TripCreateCommand。 TripCreateCommandHandler完成他的工作并成功发布TripCreatedEvent。 现在我们有两个监听器TripCreate

    1热度

    1回答

    有什么选择或做cross-Bounded Context (BC) communication与Domain Events可使用Dependency Injection (DI)创建在接受公元前Event Handlers的任何最佳实践方法? BC在同一局域网中,但在不同的服务器上。理想情况下,每个BC中应该有一个端点,根据需要通过DI实例化正确的事件处理程序,而不是每个事件/事件处理程序都有一个

    1热度

    1回答

    我对域名事件有疑问。我正在使用DDD实现应用程序,并且该应用程序对于DDD来说足够复杂。 我所拥有的场景是登录WCF服务,除了验证用户凭证和返回令牌之外,还需要服务来创建会话并审计登录。为此,我为会话和审计创建了两个独立的域上下文,因为它们在登录范围之外我打算在自己的域上下文中引发域事件来处理这些事件,所有这些都很好,并且在每个组件之间保持明确的有界上下文。 问题是,Wcf实现的一部分在Share

    0热度

    1回答

    我执行域事件中的框架对我们的应用,下面是相同的伪代码,想知道是否有任何明显的警告 的框架要设计2步,以坚持域事件(重建模型状态后柜面要求或我们添加说,报告系统对组合而定)和出版基础设施 存储 begin txn update model Domaineventpublsisher.publish(event) events serialized and stored to the persi

    1热度

    1回答

    我最近熟悉DDD并尝试获取关键概念,并且我有一个查询事件来为本地订户发布域事件,所以我可以假设事件发布者,既照顾AQMP向远程用户发布,同时还利用observable将其发布给本地用户,这是一个可扩展的解决方案吗?或者是否有一种熟悉的模式来处理这个问题?(同时建议是否有针对prblm的反应性解决方案,可能是RxJava等)

    0热度

    1回答

    我想在事务完成后发布域事件。所以我在这里跟着这篇文章: http://www.jayway.com/2013/06/20/dont-publish-domain-events-return-them/,也有看看这个SO职位:Should I Pass a repository to a Domain Method that fires an Event 有道理...但我很困惑,如何解决接口采集到的

    0热度

    1回答

    我正在使用DDD构建电子商务系统。在这个系统中,我有两个有界的上下文:Identity & Access和Sales。 客户可以通过填写表格填写姓名,电子邮件和密码进行注册。然后在Sales背景下,我注册了一个客户: $customer = new Customer($request->name, $request->email); $this->customers->add($customer