Использование Presentation Model со сложными пользовательскими элементами управления (которые имеют свои собственные модели)
У меня есть приложение, которое использует модель представления Мартина Фаулера с WinForms (WPF был бы лучшим выбором, но это не имеет значения). Таким образом, каждое представление имеет модель представления, представляющую его, где находятся логика пользовательского интерфейса и логика преобразования модели предметной области. Это работает очень хорошо, когда элементы управления в моих представлениях являются встроенными элементами управления.NET WinForms или сторонними элементами управления.
При подписке на принцип DRY у меня есть библиотека классов, используемая моим приложением, которая предоставляет набор моих собственных пользовательских элементов управления, которые используются в нескольких представлениях в моем приложении; каждый из этих элементов управления представляет собой совокупность меньших элементов управления, которые имеют некоторые функциональные отношения. Пользовательские элементы управления также имеют свои собственные модели представления, которые управляют логикой пользовательского интерфейса.
У меня вопрос: как я могу спроектировать свое приложение так, чтобы проблемы представления не были связаны с базовой логикой пользовательского интерфейса моих пользовательских элементов управления? Вот схема:
Я не хочу, чтобы поток информации из модели представления формы в модель представления элемента управления должен был проходить через сами представления; но в то же время модели представления не знают (и не должны знать) друг о друге.