0 голосов 704 просмотра 3.12.2020 / 09:37
Askalite
Как называется этот паттерн?
Проблема в том, что объекты могут внезапно исчезнуть, куда-то пропасть, что может вызвать null ошибку. В общем, отвалиться может что угодно, например в андроид при повороте экрана отваливается всё пользовательское меню. В играх непонятно когда, может появиться или исчезнуть объект. И каждый раз это та ещё проблема. Решил я сделать так, создать общий поток сообщений.
И он не знает ни про какие B и C, а B и C не знают, что где-то надо искать A1, A2, A3, и подписываться на КАЖДЫЙ, B и C если надо им, просто обращаются/подписываются к суперхранителю сообщений, смотрят на все записанные сообщения, выбирают из них те, которые принадлежат им по id (очень удобно в игре, например, id звука или id столкновения пули), или точнее, они думают, что эти сообщения отправлены им, а потом обрабатывают. Если надо пихают результат туда же. А ещё из одного потока событий, могут создаваться другие, например на msg0 самый главный поток подпишеися msg1 и будет выбирать сообщения клавиуатуры, и уже на него будут подписываться те, кто хочет иметь доступ к клавиатуре. Например, поток сообщений msg2 который каждые update() будет выбирать последний мессадж клавы и посылать в игру, в поток msg3, финальный поток событий, который может отправляться к msg4, который отправляет всё через http на сервак игры и на диск. Отвалился объект? Не беда. Слетела прога целиком? Скачай с диска последнее сохранение сообщений, продолжай. Или самое главное, если игра неверно предсказала с сервера данные, можно посмотреть историю сообщений и вернуться назад, и просчитать снова. Чуется мне, что я изобрёл велосипед. Как он называется? Есть ли что-то подобное?
Изм. aNNiMON
от 9.12.2020 / 17:56
Ответы
2 голоса 1 голос 2. «[...] можно посмотреть историю сообщений и вернуться назад, и просчитать снова» — а это уже event sourcing. Всего: 4
|
Реклама |