Дизайн: Как информировать контроллеры об изменении данных в приложении

В большой системе, основанной на mvc, есть представления, отвечающие за редактирование данных, и представления, отображающие эти данные.

Пример: UserManagementViewи UserSelectionView.

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

Я думаю об этом как о шаблоне наблюдателя (который вроде как интегрирован в С#), и все контроллеры будут слушателями и в конечном итоге получат уведомление о том, что произошло манипулирование данными.

BindingList<>, например, предоставляет событие ListChanged. Точно так же можно создать интерфейс для каждой структуры данных и уведомить контроллер об изменении. Это добавит накладные расходы (IMO), и я считаю, что это решение сложно поддерживать в большой системе, а обновление данных в любом случае не является решением.

Какой архитектурный проект может помочь в подобных сценариях?

14
задан Odys 15 June 2012 в 13:52
поделиться