следующая.
Есть маршрутный лист, что то типа анкеты.
я разбил ее на 7 секций.
для простоты возьмем
1 секция - общие данные содержит
Начало
конец работы.
7 секция Коллекция работ
номер станции
прибытие
отправление
все секции побиты на отдельные VM много инфы для одной вьюхи.
задача сделать валидацию по правилам при вводе.
например в 7 секции прибытие должно быть между началом и концом работы (1 секция).
1) как мне передать данные из VM 1 секции в VM 7 секции не связывая их.
И отслеживать изменения в рантайме пиная валидатор
2) Кто должен проводить валидацию. Сама VM 7 секции? или отдельный класс ?
Пока нашел только 2 способа
1) Паттерн сообщения - создать статик объект через который передавать все изменения
и он будет рассылать подписчикам нужные сообщения. (не нравятся статик синглтон объекты)
2) Передать VM друг-другу (совсем не нравится ибо связанность большая получится)
может есть еще какие патерны передасты?
MessageBus это называется. Но можешь глянуть сюда https://assets.ctfassets.net/9n3x4rtjlya6/2uWcg6Juw8OoCKEUW00QuQ/d2f889fa34e2b323f3ef409743456d4c/Denis_Tsvettsih._How_to_live_without_MessageBus_on_UI.pdf А вообще вся инфа же должна из модели дергаться. То есть тебе не нужно передавать инфу между vm, тебе нужно просто обновлять состояние модели. И можешь глянуть в сторону zeromq ещё.
Хм. И сделать валидатор для модели. И проверять её свойства? И заполнять inotifydataerror у vm идея
Обсуждают сегодня