DDD - Определение сущностей, корней и услуг - PullRequest
1 голос
/ 13 апреля 2010

Я хочу сначала извиниться за мой плохой английский. Я пытаюсь реализовать DDD в своем проекте, но у меня есть некоторые проблемы, которые я постараюсь описать. Я занимаюсь разработкой приложения для чата. Интерфейс довольно прост, нет комнат, только одно окно с последними n сообщениями.

  1. Вот первая проблема. Я не вижу здесь никакой сущности (ChatRoom был бы в порядке, но у меня есть только одна комната). Сообщение кажется мне ценным объектом. Поэтому я не знаю, как сохранить состояние чата (я думаю, что иметь хранилища для объектов-значений - плохая практика).

Этот чат должен иметь одну особенность, он должен группировать и хранить связанные сообщения вместе (создать что-то вроде ChatSegment). Эти сегменты будут разделены на блоки из m сообщений не по теме (сообщения не по теме означают сообщения, не связанные с сообщениями в текущем сегменте).

  1. Я не могу себе представить, как это сделать, без использования службы с отслеживанием состояния. Это поведение не вписывается ни в одну сущность (даже в гипотетическую сущность ChatRoom). Сегментерская сущность тоже не выглядит правильной. Как бы вы решили эту проблему?

Может быть, мои мысли совершенно неверны, но мне нужно было бы прояснить их. Спасибо,

Brano.

1 Ответ

0 голосов
/ 14 апреля 2010

В приложении IM я бы (OTTOMH) рассматривал Meassage как сущность с уникальным идентификатором.

Комбинация DDD с DNC может быть очень мощной, если вы рассматриваете свой тип сообщения как архетип «момента» и, возможно, также используете архетипы «роли» (например, Chatter) для пользователей система, чтобы взять более чем одну «роль» из необходимых.

Кроме; концепция «следующий / предыдущий момент (то есть сообщение)» кажется идеальной парой.

...