PubSub / Слабосвязанные и MVC шаблоны в Javascript - PullRequest
6 голосов
/ 19 января 2011

Хорошо, я новичок в этом, я пытался изучать шаблоны MVC и шаблоны публикации / подписки в Javascript / jQuery, однако я считаю, что я не полностью понял концепцию.* Поскольку я делал это один, я скромно пришел сюда, чтобы спросить мнение о небольшом образовательном упражнении, которое я пытался выполнить, следуя этим схемамв основном это форма входа в систему, где значения сохраняются в localStorage, опять же, это чисто образовательный формат, теперь я в любом случае небезопасен и не должен использоваться в производстве.

Не могли бы вы высказать свое мнение об используемых шаблонах, не смог ли я добиться правильного использования шаблонов?Пожалуйста, делайте мне больно, если нужно, я просто хочу учиться, но я не уверен, правильно ли я это делаю.

1 Ответ

2 голосов
/ 19 июля 2011

Система делегирования событий jQuery сама по себе является формой pub / sub. На самом деле проверьте это, http://bugs.jquery.com/ticket/7547. Вы увидите, что под капотом она использует систему событий и действительно только меняет схему именования и работает в «глобальном» контексте.

Я ничего не имею против pub / sub, но чувствую, что вы добавляете слой, который в некоторых случаях не должен существовать. Будет ли хуже запускать правильную функцию сразу после срабатывания делегирования события, а не паб? Если вы удалите подписку и публикацию, вы получите почти такой же код без дополнительной «сложности».

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

Можно утверждать, что повсеместно используя pub / sub, в том числе при делегировании событий, вы отвлекаете свою зависимость от внешнего кода от необходимости создавать собственные делегирования событий, что устраняет их беспокойство о том, какой элемент связывать делегат Если вы пишете большие сложные приложения, продолжайте абстрагировать их до этого уровня. Если вы не планируете писать большие приложения, взвесите преимущества, которые YAGNI может применить здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...