cqrs

    4热度

    2回答

    让我们使用博客上下文的经典示例。在我们的域名中,我们有以下情况:Users可以写入Posts。 Posts必须至少在一个Category编目。可以使用Tags来描述Posts。 Users可以对Posts发表评论。 四个实体(Post,Category,Tag,Comment)被实现为由于我不同的聚集体没有检测到用于一个实体的数据应彼此干扰的任何规则。因此,对于每个聚合,我将有一个代表它的存储库。

    7热度

    3回答

    我正在使用CqrsLite作为CQRS风格的项目。具体Repository实现的Save方法看起来像这样(省略了不相关的行)。 public void Save<T>(T aggregate, int? expectedVersion = null) where T : AggregateRoot { if (expectedVersion != null && _event

    1热度

    1回答

    我是CQRS的新成员,想学习模式的工作顺序。我的命令处理程序和命令是这样的: public interface ICommandHandler<in TCommand> where TCommand : ICommand { void Handle(TCommand command); } 当我cerate一个工作一个命令处理程序工作。 public class CreateWo

    2热度

    1回答

    我的命令类如下: public class RegisterToConference : ICommand { public RegisterToConference() { this.Id = Guid.NewGuid(); this.Seats = new Collection<SeatQuantity>(); }

    1热度

    1回答

    目前我们正在进行无事件采购的CQRS。 我们有命令(例如UpdateUser)和查询(例如:GetUser,GetAllUsers)。 我们的域只在服务器上知道,因为有多个不同的客户端。客户通过DTO接收他们的数据,他们不知道服务器上的实际实体。 目前,如果我们有一个观点和视图模型,我们要代表UserDTO并验证它,我们的UserDTO映射到UserDTOValidation对象,其中也有一些方法

    2热度

    1回答

    作为GetEventStore的第一次用户并阅读了文档,我遇到了一个问题,事件从未出现在我的订阅客户端上。 这可能是由于我错过了一个配置步骤。 有了这个控制台应用程序客户端: public class EventStoreSubscriptionClient : ISubscriptionClient { private const string GroupName = "liner"

    5热度

    1回答

    我觉得很难决定某些东西是否应该成为域或应用程序的一部分。 通过这个answer阅读有助于许多概念,如授权,但我仍然发现自己与其他事情挣扎。 为了说明我的困惑,请考虑发表评论的案例。以下是在发布评论前需要做的事情。我在括号中表明我认为这个功能应该去。 确保用户角色/状态允许在这篇文章发表评论(授权,去申请) 确认后存在并出版(域),这是我们所评论 确保用户在最后一分钟没有发布超过5条评论(节流,直觉

    4热度

    1回答

    我玩弄了一点,并偶然发现多线程环境中的问题,即总线中的消息顺序可能无法得到保证,或者事件的处理可能不会在下一次到达之前完成。 因此,ItemCreated消息可能发生在ItemChangedSomething消息之后,或者至少第一条消息没有完全处理。这会导致“读取方”中的问题,因为我想更新尚未提供的数据。 如何解决这个问题? (假设CQRS适合域设计案例。) 我是否必须创建一个传奇或者是否有其他方

    0热度

    3回答

    应用领域驱动设计我阅读了关于事件采购的内容。这节省了一系列事件。数据库的事件表有以下栏目: EventID, EventDate, AggregateId, EventData 我能救产品,类别和为了在这个表事件。但是aggregateId可能会被复制。在这种情况下,我将获得订单事件作为产品事件。 如何防止系统ID重复。

    1热度

    1回答

    还是蛮年轻的ES和CQRS,据我所知,他们密切相关的数据的最终一致性。 当我们在写入商店之前应该进行验证,比如检查电子邮件地址是否已经被现有用户使用,最终一致性可能会有问题。以一致的方式做到这一点的唯一方法是停止接受新事件,根据我们的观点完成剩余事件的处理,然后查询视图。我们显然不想走得那么远,Greg Young实际上是recommends,以接受最终的一致性并处理(罕见的)我们违反约束的情况。