Пример сохранения DCI (данные, контекст, взаимодействие)

Все примеры DCI, которые я видел, по-видимому, основаны на объекте как на конечном носителе информации, а границы транзакций определены внутри методов.

Я хотел бы увидеть пример постоянного приложения, где есть какой-то уровень персистентности, т.е. где могут быть дублированные копии объекта лежащего в основе хранилища сохраняемости и где изменение объекта является заменой копии которые впоследствии будут сохранены. Работает ли DCI для этой модели вообще?

+5
источник поделиться
3 ответа

DCI - это парадигма и точно так же, как вы можете создать приложение, используя любую другую парадигму с сохранением (с использованием чистого FP, поскольку персистенция является побочным эффектом), так что вы можете с DCI. Это не упоминается в примерах DCI, поскольку это не относится к парадигме и не имеет отношения к пониманию парадигмы. (Тем не менее, вы не первый, кто задал вопрос и не будет последним, я уверен).

Проблема сохранения данных в общем случае ортогональна DCI. DCI пытается разбивать дизайн на

  • Что система
  • Что делает система

Первая - это модель домена, а вторая - функциональность системы. Независимо от того, сохраняется ли "система" в памяти, плоские файлы или БД важны, но, разумеется, это отдельная проблема и обычно реализуется с использованием ограниченного OO

+3
источник

DCI действительно не заботится о себе настойчивость.

+2
источник

В http://blog.maxant.co.uk/pebble/files/dci_java_example_for_object_composition_google_group_201010052226.zip Я опубликовал пример на Java, который включает JPA (ORM) для сохраняющихся объектов.

Это часть белой бумаги, которая будет опубликована в ближайшее время по адресу www.maxant.co.uk/whitepapers.jsp

Следующий пример, показывающий, что DCI интегрирован в сервер приложений, будет в этой статье. Надеюсь, что это поможет!

+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос