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