Сигналы - это реализация обмена сообщениями о событиях, очень похожая на Smalltalk / Objective C Сообщения или События в различных других (например, C #) языках.
Вы можете использовать их для самых разнообразных задач, взгляните на Шаблон наблюдателя
Зачем использовать шаблон наблюдателя?
Преимущества в значительной степени организационные, когда вы работаете с большими приложениями, важно применять шаблоны повторного использования, которые помогают поддерживать согласованность команды разработчиков.
Когда реализация определенного шаблона становится де-факто (или близка к нему), это особенно полезно, потому что это означает, что время подготовки для новых членов команды, скорее всего, будет ускорено, не только если они уже использовали реализацию, но также потому что популярность реализации будет означать наличие широко распространенных ресурсов и документации, доступной для ускорения обучения.
С точки зрения чистого кода ВСЕ шаблоны выглядят раздутыми, но когда вы начинаете понимать, что свыше 60% затрат, связанных с разработкой программного обеспечения, приходится на жизненный цикл обслуживания, стоит того, чтобы дополнительный код приобрел последовательность .
Другое преимущество состоит в том, чтобы помочь в повторном использовании программного обеспечения, в зависимости от стиля реализации, шаблон наблюдателя может помочь в модульности и отделении классов друг от друга. Я хотел бы предположить, что это также является организационным преимуществом, поскольку различные группы могут создавать компоненты проще или просто потому, что компоненты легче заменить.