DDD - 识别实体,根和服务

时间:2010-04-13 13:15:40

标签: domain-driven-design

我想先为我糟糕的英语道歉。我正在尝试在我的项目中实现DDD,但我会尝试描述一些问题。我正在开发一个聊天应用程序。前端非常简单,没有房间,只有一个窗口显示最后n条消息。

  1. 这是第一个问题。我在这里看不到任何实体(ChatRoom可以,但我只有一个房间)。消息对我来说似乎是有价值的对象。所以我不知道如何保存聊天状态(我认为拥有价值对象的存储库是一种不好的做法)。
  2. 此聊天应具有一个特定功能,它应将相关消息分组并存储在一起(创建类似ChatSegment的内容)。这些段将被m个偏离主题消息的块分开(离题消息意味着与当前段中的消息无关的消息)。

    1. 我无法想象如何在不使用有状态服务的情况下完成这项工作。此行为不适合任何实体(甚至不适用于假设的ChatRoom实体)。 Segmenter实体似乎也不正确。你会如何解决这个问题?
    2. 也许我的想法完全不正确,但我需要说清楚。 谢谢,

      Brano。

1 个答案:

答案 0 :(得分:0)

在IM应用程序中,我(OTTOMH)将Meassage视为具有唯一ID的实体。

如果您将Message类型视为“时刻”原型,并且可能还使用“角色”原型(例如Chatter),以便系统用户能够将DDD与DNC组合在一起非常强大承担所需的不止一个“角色”。

此外; “下一个/前一个时刻(即消息)”的概念似乎是一个完美的匹配。