В большой системе, основанной на mvc, есть представления, отвечающие за редактирование данных, и представления, отображающие эти данные.
Пример: UserManagementView
и UserSelectionView
.
Каждая подсистема должна знать, требуется ли ей обновление данных после того, как другая подсистема внесла изменения в те же данные, чтобы ее контроллер знал, требуется ли обновление данных.
Я думаю об этом как о шаблоне наблюдателя (который вроде как интегрирован в С#), и все контроллеры будут слушателями и в конечном итоге получат уведомление о том, что произошло манипулирование данными.
BindingList<>
, например, предоставляет событие ListChanged
. Точно так же можно создать интерфейс для каждой структуры данных и уведомить контроллер об изменении. Это добавит накладные расходы (IMO), и я считаю, что это решение сложно поддерживать в большой системе, а обновление данных в любом случае не является решением.
Какой архитектурный проект может помочь в подобных сценариях?