Система делегирования событий jQuery сама по себе является формой pub / sub. На самом деле проверьте это, http://bugs.jquery.com/ticket/7547. Вы увидите, что под капотом она использует систему событий и действительно только меняет схему именования и работает в «глобальном» контексте.
Я ничего не имею против pub / sub, но чувствую, что вы добавляете слой, который в некоторых случаях не должен существовать. Будет ли хуже запускать правильную функцию сразу после срабатывания делегирования события, а не паб? Если вы удалите подписку и публикацию, вы получите почти такой же код без дополнительной «сложности».
В других случаях публикация / подписка имеют большой смысл. Ваше отображение / хэш и set / login имеют большой смысл, поскольку они не являются частью традиционного события, на которое другой код мог бы подписаться / привязаться.
Можно утверждать, что повсеместно используя pub / sub, в том числе при делегировании событий, вы отвлекаете свою зависимость от внешнего кода от необходимости создавать собственные делегирования событий, что устраняет их беспокойство о том, какой элемент связывать делегат Если вы пишете большие сложные приложения, продолжайте абстрагировать их до этого уровня. Если вы не планируете писать большие приложения, взвесите преимущества, которые YAGNI может применить здесь.