![]() |
|
||||||||||
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я не пойму, а зачем, собственно, юзать интерфейс, когда твой класс может просто подписаться на необходимые события класса, без реализации всех методов интерфейса? Это бессмысленное использование интерфейсов, которые вообще созданы для того, чтобы общаться с классом, а не для того, чтобы просто прописать необходимые методы.
Интерфейс необходим, если класс, который его реализует, недоступен в конкретном проекте или пишется другим человеком, но тебе нужно работать с подобным классом. Впрочем, я догадываюсь, почему ты так используешь интерфейс — твой XMLLoader получает ссылку на интерфейс IXMLLoaderListener? А почему нельзя использовать событийную модель и вообще не делать связи внутри класса с внешними? |
|
|||||
|
Да безусловно может подписаться на событие, если в качестве ссылки на объект слушатель предеавать тип Object и заменить :
на Я использую его в больших проектах, где куча всяких слушателей и мне казалось принудительная реализация интерфейсов объектами слушателями, позволит быстрее найти ошибку или недопустить её при проверки компилятором. В последнее время, в относительно небольших проектах становится неудобно тащить за собой такую событийную модель: много классов и интерфейсов. И думаю, что нужно переписать все это с наименьшей привязаностью к другим классам - т.е. так как ты предлагаешь. |
|
|||||
|
Господа, я просто сделал так (влоб, причем давно): каждые 0,1sec проверяю чему равно isLoaded и все! Я думаю, что принцип работы всяких слушателей такой же - они слушают с какой-то частотой и все. Может я и не прав, но у меня все сейчас в норме. Спасибо...
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|