Это скорее вопрос архитектуры/дизайна.
В прошлом я работал с несколькими проектами в WPF/Windows Forms и т.д., которые имеют сложные экраны с большим количеством полей, и эти поля связаны друг с другом (их значения зависят друг от друга с некоторой логикой).
Эти проекты я реализовал после того, как они были реализованы, и я обнаружил, что много событий/данных связывают ад. Я имею в виду, что потому, что все эти поля зависят от других, они внедрили INotifyPropertyChanged, а другие поля измененный в результате. Это приводит к тому, что те же поля обновляются 5-6 раз, когда загружается экран, и порядок заполнения полей вызывает ужасные ошибки. (Например, дата была задана перед типом задания, а не после типа задания, поэтому я получаю другую плату за работу.)
Чтобы усугубить ситуацию, некоторые хаки реализованы в событиях пользовательского интерфейса (например, DropDown изменен на поле обновления X), а другие - в модели домена, к которой привязан интерфейс.
В принципе, это огромный беспорядок, и я просто хочу знать, что лучший способ реализовать что-то вроде этого, если я должен начать с нуля. Или это хорошая идея, чтобы избежать такого сложного экрана в первую очередь?