Показать сообщение отдельно
Старый 16.08.2014, 00:07
Void вне форума Посмотреть профиль Отправить личное сообщение для Void Найти все сообщения от Void
  № 13  
Ответить с цитированием
Void

Регистрация: May 2014
Сообщений: 26
Цитата:
Сообщение от КорДум Посмотреть сообщение
А зачем Вам доступ к текстфилду отовсюду? Старайтесь разделять логику и отображение. Я не впариваю про MVC, отнюдь, но на самом деле, это очень хорошая практика: тестфилдом управляет нечто, что получает команды посредством событий. Это можно реализовать как угодно, можно через модель (это просто класс с набором данных), в которой будут меняться данные и диспатчиться события.

Реализуйте логику по следующему принципу: дети не управляют своими родителями. Они могут сообщить родителю, что они что-то хотят, родитель сам должен принимать решение, как реагировать на просьбу и реагировать ли вообще. На самом деле очень тяжело говорить конкретно-общие вещи, не зная того, зачем Вам вообще это все понадобилось. Давайте свой конкретный пример и тут Вам пояснят. Без всяких MVC на данном этапе.
Зачем доступ? При "проектировании" приложения я создал 1 текстовое поле, в котором должны отображаться различные данные полученные от разных классов. Как пример: при подсоединении к cirrus, при подключении пира, при отключении пира, должно обновляться текстовое поле (За каждое действие отвечает свой класс).

http://imgdepo.ru/show/7177963
Вот так выглядит у меня структура приложения. При его запуске в основном классе создается текстовое поле и объект класса отвечающего за подключения к cirrus, в свою очередь при создании объекта в случае успешного подключения к серверу создается объект класса отвечающего за изменение текстового поля и вызов его методов.
Теперь, получается что надо сохранять ссылку на объект отвечающего за подключение, а ссылку на объект отвечающий за изменение текста не обязательно сохранять. Было бы совсем отлично если можно вызвать из стороннего класса метод основного класса, но как к нему обратиться(к основному классу).
Вот, если можете помочь подредактировать структуру приложения, будет прекрасно.