Структурируйте и документируйте свои IObservables во ViewModel - PullRequest
1 голос
/ 04 декабря 2011

В последнее время я занимался пользовательским интерфейсом с использованием Rx.NET; в частности, используя ReactiveUI. Мне очень нравится декларативный способ, которым ReactiveUI помогает вам создавать взаимодействия ViewModel.

Однако, поскольку большая часть логики в ReactiveUI окажется в вашем конструкторе, для сложных ViewModels может оказаться довольно сложно ориентироваться во всем и находить искомые биты, а также документировать, что разные части предназначены для выполнения.

Что вы думаете об этих двух проблемах? Перемещение некоторых наблюдаемых определений в частные методы? Создание собственных методов расширений («операторов»)?

Будем рады услышать мнение других по этому поводу!

1 Ответ

1 голос
/ 05 декабря 2011

Очень круто видеть, как люди понимают, как правильно использовать RxUI, это потрясающе!

Обычно я стараюсь упорядочить порядок своих взаимодействий в порядке рабочего процесса пользователя - т.е. сначала подключить входы, затем подключить их к части действия формы (обычно через ReactiveCommands), а затем, наконец, подключить это к выходы через ToProperty.

Я бы свернул большие запросы с помощью Select или SelectMany - я бы не стал определять пользовательские операторы, если ваши операторы действительно не работают вообще.

Кроме того, если ваши ViewModels становятся слишком большими, есть еще совет, что, возможно, он пытается сделать слишком много вещей, и его следует разделить, даже если он будет говорить, что сам UX может быть слишком сложным, в зависимости от на вашей аудитории.

...