3
« : 02 Марта 2016, 14:41:56 »
Добрый день!
Вопрос связан с подходом в разработке некоторой системы, когда жизненный цикл некой сущности "A", разрешает на определенном этапе опционально регистрировать другую сущность "Б". Причем эта новая сущность "Б" имеет собственный жизненный цикл, который имеет влияние на жизненный цикл сущности "A" (запрещает переход к некоторым состояниям). Завершить жизненный цикл сущности "А" можно лишь тогда, когда или нет сущности "Б", или жизненный цикл сущности "Б" завершён.
В итоге возникает ключевой вопрос каким образом следует контролировать согласованность этих сущностей, как минимум рассматривается 2 варианта:
- 1 вариант. Синхронизация жизненных циклов сущностей "А" и "Б" с помощью предикатов (переход между состояниями возможен, если выполняется условие)
- 2 вариант. Объединение жизненных циклов сущностей и самих сущностей "A" и "Б" в одну сущность "B" с одним жизненным циклом
Сталкивались ли вы с такой проблемой и как бы вы обеспечивали согласованность жизненных циклов сущностей?