ответ

3

Мой общий подход состоит в том, чтобы использовать Events/Listeners внутри одного приложения, они действительно эффективны и быстры, а в средах IDE есть множество инструментов, которые делают их относительно легкими в реализации. Мое правило состоит в том, чтобы использовать этот шаблон, если вам действительно нужно быть уверенным, что слушатель получает уведомление об этом событии каждый раз.

Я использую шаблон сигналов/слотов в приложениях SOA или системной интеграции, поскольку он более удобен и без учета состояния.

+0

Затем вы подразумеваете, что события/слушатели работают лучше, чем сигналы/слоты, а также вы могли бы рассказать мне, какие IDE имеют эту поддержку для событий/слушателей? Спасибо за быстрый ответ. – meteorfox

+0

Я предполагаю, что это зависит от реализации, но моделирование событий в .NET или Java предназначено для работы в процессе, что сделает их как можно быстрее (в зависимости от библиотеки). Даже COM-события бывают быстрыми, если не надежными. Сигналы/слоты в качестве шаблона не предполагают, когда/если какие-либо прослушиватели получат сигнал, поэтому производительность не так важна. Очевидно, что все зависит от реализации, я уверен, что вы могли бы создать реализацию сигналов/слотов, которая быстрее, чем .NET eventing. –

+0

Что касается IDE, у которых есть поддержка, я имею в виду Visual Studio, которая автоматически подключает события от дизайнера пользовательского интерфейса, а также автоматически генерирует обработчики и делегаты в представлении кода. Я считаю, что Eclipse имеет похожие помощники. –

Смежные вопросы