BitTorrent Трекер RusTrek.ru http://5.45.70.241/ |
|
Stefanov S. / Стефанов С. - JavaScript. Шаблоны / JavaScript Patterns [2011, DjVu, RUS] http://5.45.70.241/viewtopic.php?f=290&t=25455 |
Страница 1 из 1 |
Автор: | Релизер [ 2011-11-23 21:41 ] |
Заголовок сообщения: | Stefanov S. / Стефанов С. - JavaScript. Шаблоны / JavaScript Patterns [2011, DjVu, RUS] |
JavaScript. Шаблоны / JavaScript Patterns #777 Год: 2011 Автор: Stoyan Stefanov / Стоян Стефанов Переводчик: А. Киселев Жанр: Компьютерный (Веб-дизайн) Издательство: O'REILLY, Символ-Плюс ISBN: 978-5-93286-208-7 Серия: O'REILLY Язык: Русский Формат: DjVu Качество: Отсканированные страницы + слой распознанного текста Количество страниц: 265 Описание: Разработчики серверных, клиентских или настольных приложений на javascript нередко сталкиваются с проблемами, связанными с объектами, функциями, наследованием и другими особенностями этого языка. Какие же приемы разработки приложений на javascript являются наиболее удачными? Данная книга дает ответ на этот вопрос, предлагая большое количество различных шаблонов программирования на javascript, таких как "единственный объект" (singleton), "фабрика" (factory), "декоратор" (decorator) и другие. Можно сказать, что они являются не только методами решения наиболее типичных задач разработки ПО, но и заготовками решений для целых категорий таких задач. Использование шаблонов при программировании на языке javascript имеет свои особенности. Некоторые из них, разработанные с позиций языков со строгим контролем типов, таких как C++ и Java, не могут непосредственно применяться в языках с динамической типизацией, таких как javascript. Для таких шаблонов в языке javascript имеются более простые альтернативы. Написанная экспертом по языку javascript Стояном Стефановым - ведущим специалистом компании Yahoo! и создателем инструмента оптимизации производительности веб-страниц YSlow 2.0, - книга включает практические советы по реализации каждого из рассматриваемых шаблонов с примерами программного кода. Автор также приводит антишаблоны - приемы программирования, которых следует по возможности избегать. Предисловие 13 Глава 1. Введение 19 Шаблоны 19 JavaScript концепции 21 - JavaScript - объектно-ориентированный язык 21 - В JavaScript отсутствуют классы 22 - Прототипы 23 - Среда выполнения 23 ECMAScript 5 24 JSLint 25 Консоль 26 Глава 2. Основы 28 Создание простого в сопровождении программного кода 28 Минимизация количества глобальных переменных 30 - Проблемы, связанные с глобальными переменными 30 - Побочные эффекты, возникающие в отсутствие объявления var 32 - Доступ к глобальному объекту 33 - Шаблон единственной инструкции var 33 - Подъем: проблемы с разбросанными переменными 34 Циклы for 36 Циклы for-in 38 Расширение встроенных прототипов (в том числе нежелательное) 41 Шаблон switch 42 Избегайте неявного приведения типов 42 - Не используйте eval() 43 Преобразование строки в число с помощью parselnt() 45 Соглашения по оформлению программного кода 46 - Отступы 46 - Фигурные скобки 47 - Местоположение открывающей скобки 48 - Пробелы 49 Соглашения по именованию 51 - Заглавные символы в именах конструкторов 51 - Выделение слов 51 - Другие шаблоны именования 52 Комментарии 53 Документирование API 54 - Пример использования YUIDoc 55 Пишите так, чтобы можно было читать 59 Оценка коллегами 60 Сжатие... при подготовке к эксплуатации 60 Запуск JSLint 61 В заключение 62 Глава 3. Литералы и конструкторы 64 Литералы объектов 64 - Синтаксис литералов объектов 66 - Создание объектов с помощью конструкторов 66 - Недостатки конструктора Object 67 Собственные функции-конструкторы 68 - Значения, возвращаемые конструкторами 69 Шаблоны принудительного использования new 70 - Соглашения по именованию 71 - Использование ссылки that 71 - Конструкторы, вызывающие сами себя 72 Литералы массивов 73 - Синтаксис литералов массивов 73 - Странности конструктора Array 73 - Проверка массивов 74 JSON 75 - Обработка данных в формате JSON 76 Литералы регулярных выражений 77 - Синтаксис литералов регулярных выражений 77 Объекты-обертки значений простых типов 79 Объекты Error 80 В заключение 81 Глава 4. Функции 83 Основы 83 - Устранение неоднозначностей в терминологии 85 - Объявления и выражения: именаи подъем 86 - Свойство name функций 87 - Подъем функций 88 Функции обратного вызова 89 - Пример использования функции обратного вызова 90 - Функции обратного вызова и их области видимости 92 - Обработчики асинхронных событий 94 - Предельное время ожидания 94 - Функции обратного вызова в библиотеках 95 Возвращение функций 95 Самоопределяемые функции 96 Немедленно вызываемые функции 98 - Параметры немедленно вызываемых функций 99 - Значения, возвращаемые немедленно вызываемыми функциями 100 - Преимущества и особенности использования 101 Немедленная инициализация объектов 102 Выделение ветвей, выполняющихся на этапе инициализации ... 104 Свойства функций - шаблон мемоизации 106 Объекты с параметрами 108 Каррирование 109 - Применение функций 109 - Частичное применение 110 - Каррирование 112 - Когда использовать каррирование 115 В заключение 115 Глава 5. Шаблоны создания объектов 117 Пространство имен 117 - Универсальная функция для создания пространства имен 119 Объявление зависимостей 121 Частные свойства и методы 123 - Частные члены 123 - Привилегированные методы 124 - Нежелательный доступ к частным членам 124 - Частные члены и литералы объектов 126 - Частные члены и прототипы 126 - Объявление частных функций общедоступными методами 127 Шаблон «модуль» 129 - Шаблон открытия модуля 131 - Модули, создающие конструкторы 132 - Импортирование глобальных переменных в модули 133 Шаблон изолированного пространства имен 133 - Глобальный конструктор 134 - Добавление модулей 135 - Реализация конструктора 136 Статические члены 138 - Общедоступные статические члены 138 - Частные статические члены 140 Объекты-константы 142 Шаблон цепочек 144 - Достоинства и недостатки шаблона цепочек 145 Метод method() 145 В заключение 147 Глава 6. Шаблоны повторного использования программного кода 148 Классические и современные шаблоны наследования 149 Ожидаемый результат при использовании классического наследования 150 Классический шаблон №1: шаблон по умолчанию 150 - Обход цепочки прототипов 151 - Недостатки шаблона № 1 153 Классический шаблон №2: заимствование конструктора 154 - Цепочка прототипов 155 - Множественное наследование при заимствовании конструкторов 157 - Достоинства и недостатки шаблона заимствования конструктора 157 Классический шаблон №3: заимствование и установка прототипа 158 Классический шаблон №4: совместное использование прототипа 159 Классический шаблон №5: временный конструктор 160 - Сохранение суперкласса 162 - Установка указателя на конструктор 162 Функция klass() 163 Наследование через прототип 166 - Обсуждение 168 - Дополнения в стандарте ECMAScript 5 169 Наследование копированием свойств 169 Смешивание 171 Заимствование методов 173 - Пример: заимствование методов массива 173 - Заимствование и связывание 174 - Function.prototype.bind() 176 В заключение 176 Глава 7. Шаблоны проектирования 178 Единственный объект 178 - Использование оператора new 179 - Экземпляр в статическом свойстве 180 - Экземпляр в замыкании 181 Фабрика 184 - Встроенная фабрика объектов 186 Итератор 187 Декоратор 189 - Пример использования 189 - Реализация 190 - Реализация с использованием списка 193 Стратегия 194 - Пример проверки данных 195 Фасад 198 Прокси-объект 199 - Пример 200 - Прокси-объект как кэш 209 Посредник 209 - Пример использования шаблона посредника 210 Наблюдатель 213 - Пример 1: подписка на журнал 214 - Пример 2: игра на нажатие клавиш 217 В заключение 221 Глава 8. Шаблоны для работы с деревом DOM и броузерами 223 Разделение на составные части 223 Работа с деревом DOM 225 - Доступ к дереву DOM 225 - Манипулирование деревом DOM 227 События 228 - Обработка событий 229 - Делегирование событий 231 Сценарии, работающие продолжительное время 233 - setTimeout() 233 - Фоновые вычисления (web workers) 234 Удаленные взаимодействия 235 - XMLHttpRequest 235 - Формат JSONP 237 - Обмен данными с использованием фреймов и изображений 240 Развертывание сценариев JavaScript 241 - Объединение сценариев 241 - Сжатие и компрессия 242 - Заголовок Expires 243 - Использование CDN 243 Стратегии загрузки 244 - Местоположение элемента 244 - Фрагментирование средствами HTTP 246 - Динамические элементы для неблокирующей загрузки сценариев 247 - Отложенная загрузка 249 - Загрузка по требованию 250 Предварительная загрузка сценариев JavaScript 252 В заключение 254 Алфавитный указатель 256 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |