Показать сообщение отдельно
Старый 15.07.2010, 23:09
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Посылая события вместо прямого обращения вы просто разрываете жесткую связь с классом A, т.е. была двунаправенная - стала однонаправленная

Зачем?
Вот у вас есть компонент кнопка с названием B, по нажатию на нее должно что-то произойти в классе А,
и че, вы напрямую в классе кнопки вызываетет метод А?
Тогда вы точно нигде эту кнопку не сможете задействовать, кроме как в классе А

Тоже самое и со всем остальным - это не чтобы усложнить жизнь, а чтобы разорвать связи, мешающие повторно использовать компоненты

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

...Вообще фанатизм тоже не нужен. Часто лучше просто ссылку в конструктор передать.
Цитата:
Из класса С необходимо обратиться к методу класса А, для этого в классе С вызываю событие, обрабатываю его в классе Б, затем в классе Б вызываю событие и уже его обрабатываю в классе А. Сложновато как-то, да и громоздко.
...Вот не должно быть необходимости напрямую обращаться к методу через 2 класса
Может им 3-м создать один общий класс (медиатор), через который они будут общаться или который будет ими рулить

P.S. Лучше приведите конкретный пример, а то слишком обстрактно получается


Последний раз редактировалось expl; 15.07.2010 в 23:20.