Пример постоянства DCI (данные, контекст, взаимодействие) - PullRequest
5 голосов
/ 01 июля 2010

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

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

Ответы [ 3 ]

3 голосов
/ 05 марта 2012

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

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

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

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

2 голосов
/ 27 августа 2010

DCI на самом деле не заботится о стойкости.

1 голос
/ 08 октября 2010

В 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 с сервером приложений, будет в этом документе. Надеюсь, это поможет!

...