задаче ООП.
Суть: есть конечный с набором состояний.
Каждое состояние характеризуется названием (тип/метка/ид) и некоторыми данными.
Стурктуры данных между состояниями различаются до невозможности классификации (т.е. сведения в один класс или иерархию классов), при этом некоторые состояния могут не иметь данных вообще.
Источник состояний 1 общий (вебсокет).
Необходимо:
По приходу нового состояния распарсить его (смапить в объект состояния), и сменить поведение системы соответствующим образом, используя переданные данные, если таковые есть.
Кто как релизует подобные ситуации?
Рассматриваю посетителя как решение, но он вписывается то с костылями, то со скрипом =)
Есть тоже примерно похожий вопрос, на всех экнанах со списком, нужна возможность отображать заглушки. Итого у меня получилось 5 вариантов(список, пустой список, ошибка при первой загрузке, ошибка доступа, авторизация). Как бы вы такое реализовали?
sealed class SocketEvent { data class One(val x: X, val y: Y): SocketEvent() object Two: SocketEvent() //... }
Обсуждают сегодня