UtoECat писал(а):
таким образом можно разделять события на категорииПо-моему, реализуется чисто соглашением по именованию, типа "CatX.EventY"
UtoECat писал(а):
Можно было-бы создать сто компонентов именованных процедур, очередей, а можно просто использовать эту тройку для реализации такого поведенияЗависит от целей. Если это делается для разработчика, то основная часть по работе со списком событий, их свойствами не нужна, так как только разработчик может предусмотреть реакцию на событие, а значит и сам перечень событий.
А вот если для конечного пользователя, типа, какого-то скриптового процессора, где события - это функции, при вызове которых выполняются заданные действия, то нужно иметь доступ к перечню событий, описаниям.
Но вот добавлять незвестные события в процессе работы программы, которые будут выполнять не предусмотренные разработчиком действия - я не представляю как. А значит - перечень событий фиксирован и упраление ими минимальное.