Как реализовать обработку событий на сложной форме ?
От: Mirrorer  
Дата: 27.10.05 08:25
Оценка:
Есть WinForms приложение.
В нем есть описание неких бизнес-объектов, допустим данные о пользователе(имя, фамилия, возраст)

public class Person
{
    string Name;
    string Surname;
    int Age;
}

Существует также UserControl, который является графическим представлением указанного выше бизнес-объекта.
компонент представляет собой два TextBox, и Spin для возраста. внутри компонента содержится приватный экземпляр Person,
при изменении какого-либо поля на компоненте, изменения заносятся в этот самый экземпляр Person.
Потом форма генерирует событие
 event PersonChanged(Person newValue)
. Вроде бы никаких граблей нет, и все красиво.
BL подписывается на это событие, и получает уведомление об изменении бизнес-объекта.

Потом этот UserControl добавляется на какую-нибудь другую форму. Как правильно организовать обработку событий на этой форме ? Создать еще один бизнес-объект описывающий эту форму ? Но тогда придется
 event PersonChanged(Person newValue)
добавить форме и пробрасывать через несколько уровней. А если будет 3-4-х уровневая вложенность ? И тогда на самой верхней форме будет опубликовано N событий всех ее детей. Что не есть хорошо А как сделать по другому что-то не представляю


Есть ли у кого-нибудь предложения по улучшению архитектуры ? Или хотя бы ссылка где можно почитать об этом.
Заранее спасибо за ответы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.