Я пытаюсь выяснить, как смоделировать состояние удаленного устройства IoT с постоянным субъектом, например:
Пользователь хочет включить свет, чтобы мы максимальнологический.
- Пользователь отправляет
OnCommand
- постоянный субъект получает команду, генерирует
LightTurnedOnEvent
и обновляет свое состояние до on
Так что это имеет смысл, но проблема здесь в том, что свет фактически никогда не включается.Итак, тогда мы создадим LightControlActor
, который знает низкоуровневое аппаратно-управляемое вуду.Этот актер слушает LightTurnedOnEvent
, и когда он получает это, он делает это и включает свет.
Круто, теперь у нас включен свет!Но не счастлив.LightTurnedOnEvent
вроде как лежит здесь, свет еще не включен.Следуя этой логике, * 109 * должен быть сгенерирован LightControlActor
, а мой постоянный субъект должен сгенерировать SentRequestToTurnOnLight
, но теперь это усложняется для меня со всей различной семантикой.
- Пользователь отправляет
OnCommand
Постоянные актеры получают OnCommand
генерируют RequestedLightTurnOnEvent
и устанавливают состояние в ожидание.
LightController обнаруживает RequestedLightTurnOnEvent
и пытается повернутьна свет во внешней системе.
И что тогда?Теперь, как мне обновить состояние персистента?Разве LightController отправил какую-то странную команду SetStateToOnCommand
?
Так как мне обновить постоянное состояние, когда свет фактически включен?