用户聊天消息应该汇总吗?

时间:2019-08-25 23:55:30

标签: domain-driven-design modeling

在对典型的聊天应用程序进行建模(无限聊天)时,是否应将每条消息视为一个聚合实例?

聚集应该保持很小,并且不能想到包含用户消息的其他一些体面和小的候选对象。但是,与此同时,我只是想知道我是否应该对如此小的系统对象使用聚合概念。

1 个答案:

答案 0 :(得分:1)

  

是否应将每条消息视为一个聚合实例?

这是一个很好的问题,但是由于我们不了解您的业务而被问到了错误的一群人:)

  

聚集是事务性边界的同义词   一致性。 [...]正确设计的骨料是一种,可以   以业务需要修改的方式进行修改,同时提供   业务规则在单个交易中必须保持一致。 [...]   聚合主要涉及一致性边界及其设计   应该不受创建对象图的控制。 [...]〜实施域驱动设计,Vaughn Vernon

聚合主要是关于业务规则中事务一致性的。您应该询问业务有关单个聊天消息的规则。在典型的聊天应用程序中可能没有,但是您必须要问生意。

我可以想象

最简单的聊天应用程序中,我的聊天消息更像是一个价值对象。否则我将甚至不使用DDD ,如Tseng所述。我想不出我需要的任何业务规则,它肯定是不可变的。