Разработчики серверных, клиентских или настольных приложений на JavaScript нередко сталкиваются с проблемами, связанными с объектами, функциями, наследованием и другими особенностями этого языка. Какие же приемы разработки приложений на JavaScript являются наиболее удачными? Данная книга дает ответ на этот вопрос, предлагая большое количество различных шаблонов программирования на JavaScript, таких как «единственный объект» (singleton), «фабрика» (factory), «декоратор» (decorator) и другие. Можно сказать, что они являются не только методами решения наиболее типичных задач разработки ПО, но и заготовками решений для целых категорий таких задач.
Использование шаблонов при программировании на языке JavaScript имеет свои особенности. Некоторые из них, разработанные с позиций языков со строгим контролем типов, таких как C++ и Java, не могут непосредственно применяться в языках с динамической типизацией, таких как JavaScript. Для таких шаблонов в языке JavaScript имеются более простые альтернативы.
Написанная экспертом по языку JavaScript Стояном Стефановым – ведущим специалистом компании Yahoo! и создателем инструмента оптимизации производительности веб-страниц YSlow 2.0, – книга включает практические советы по реализации каждого из рассматриваемых шаблонов с примерами программного кода. Автор также приводит антишаблоны – приемы программирования, которых следует по возможности избегать.
Книга писалась в те тёмные времена, когда ES6 ещё не был принят, TypeScript только создавался в мрачных подвалах Microsoft, а Firefox владел значительной долей рынка браузеров.Книга – попытка автора перенести шаблоны проектирования из известного труда Банды Четырёх в мир JavaScript с его ограничениями, особенностями и наследованием через прототип. Попытка успешная, хотя уверен, что большинство современных Web-разработчиков не способно оценить проделанную автором работу. Если вы используете Angular или React, книга вряд ли будет вам интересна – разработчики фреймворков и библиотек уже решили рассматриваемые здесь проблемы за вас. Хотите понимать, что именно происходит на глубинных уровнях вашего Web-приложения, как внутри устроены современные фреймворки и библиотеки – читайте, хотя некоторые вещи, которые нам принёс ES6 и его потомки, здесь не рассматриваются.К достоинствам книги следует отнести качественную плотную бумагу, читаемые шрифты.
Объясняет приемы организации кода и шаблоны программирования. Все довольно детально, обстоятельно, с адекватными примерами.
Не хватает практических заданий. Для меня читать книжки по программированию и не закреплять практикой – то же самое, что их не читать.Впечатление испортила последняя часть: «DOM and Browser Patterns». Там сумбурные попытки объяснить, как не выстрелить себе в ногу и заставить работать код в IE. Это не шаблоны, а приёмы программирования и хаки вокруг кривого API браузеров. К тому же, все поверхностно и бессистемно.