являются передовыми объектно-ориентированными решениями часто повторяющихся программных проблем. Паттерны - это многократно используемые конструкции и взаимодействия объектов. У каждого шаблона есть имя, и он становится частью словаря при обсуждении сложных дизайнерских решений.
Что такое шаблоны дизайна в JavaScript?
можно определить как шаблон программного обеспечения или описание решения проблемы, которая возникает в нескольких случаях при разработке Программного приложения или Программной платформы.
Теперь давайте обсудим Банду четырех (GoF).
Банда четырех
В 23 Банда четырех (GoF) узоры обычно считаются основой для всех остальных узоров.
кроссбраузерное тестирование с использованием селена
Банда четырех (GoF) из шаблонов проектирования:
Элементы многоразового объектно-ориентированного программного обеспечения, серия профессиональных вычислений Addison-Wesley, автор: Эрих Гамма, Ричард Хелм, Ральф Джонсон, и Джон Влиссидес. ТЭти 23 шаблона GoF обычно считаются основой для всех остальных шаблонов.Они делятся на три группы: Творческий, структурный и поведенческий.
Типы шаблонов проектирования
В JavaScript существует три основных типа шаблонов дизайна. Вот они:
Творческие шаблоны
Абстрактная фабрика: Это создает экземпляр с несколькими семействами классов. Это обеспечивает интерфейс для создания семейств, которые являются связанными или зависимыми объектами, без какой-либо спецификации их конкретных классов.
Строитель: Это отделило конструкцию объекта от его представления. Также отделяет построение сложного объекта от его представления, так что один и тот же процесс построения может быть создан с разными представлениями.
Заводской метод: Это создает экземпляр для нескольких производных классов. Также определяет интерфейс для создания объекта, но позволяет подклассу решать, какой класс создать. У этого также есть фабричный метод, который позволяет классу откладывать создание экземпляра до подклассов.
Java найти наибольшее значение в массиве
Прототип: Это полностью инициализированный экземпляр, который можно скопировать или клонировать. В частности, вид объектов для создания с использованием прототипа экземпляра, создание новых объектов путем копирования этого прототипа.
Синглтон: Это полностью инициализированные экземпляры для копирования или клонирования.Это объекты особого типа, которые можно создать с помощью прототипа и создать новые объекты путем копирования этого прототипа.
Структурные образцы
Адаптер: Он соответствует интерфейсам разных классов. Также преобразует интерфейс класса в другой интерфейс, кроме того, у которого есть клиент. Адаптер также позволяет классам работать вместе, чего иначе не могло быть из-за несовместимости интерфейсов.
мост: Он отделяет интерфейс объекта от его реализации. Отделение реферата от его реализации, чтобы они могли различаться независимо.
Композитный: Древовидная структура состоит из простых и составных объектов, объединенных в древовидные структуры для представления иерархий по частям и целому. Composite позволяет клиентам одинаково обрабатывать отдельные объекты и композиции объектов.
Декоратор: Добавляет обязанности к объектам динамически. Добавляет дополнительные обязанности к объекту динамически. Декораторы также предоставляют гибкую альтернативу подклассам для расширения функциональности.
Фасад: Единый класс, который представляет всю подсистему и предоставляет унифицированный интерфейс для набора интерфейсов в системе. Façade определяет интерфейс более высокого уровня, который упрощает использование подсистемы.
Наилегчайший вес: Подробный экземпляр, используемый для эффективного совместного использования для эффективной поддержки большого количества мелкозернистых объектов. Легковес - это общий объект, который может использоваться одновременно в нескольких контекстах.Легковес также действует как независимый объект в каждом контексте - он неотличим от экземпляра объектов, которые не являются общими.
Прокси: Это объект, представляющий другой объект. Он предоставляет суррогат или объект-заполнитель для управления доступом к нему.
Поведенческие модели:
Цепочка ответственности: Это способ передачи запроса между цепочкой объектов. Он избегает связи с отправителем и отправляет запрос получателю, давая возможность более чем одному объекту обработать запрос. Принимающие объекты связываются и передают запрос по цепочке, пока объект не обработает его.
Команда: Он инкапсулирует командный запрос как объект. Инкапсулированный запрос в виде объекта, что позволяет параметризировать клиентов с различными запросами, очередями или запросами журнала и поддерживать отменяемые операции.
Переводчик: Это способ включения языковых элементов в программу. Для данного языка определите представление для его грамматики вместе с интерпретатором, который использует это представление для интерпретации предложений на языке.
Итератор: Последовательный доступ к элементам коллекции предоставляет способ доступа к элементам агрегированного объекта последовательно, не раскрывая его базовое представление.
Посредник: Он определяет, упрощает взаимодействие между классами. Определите объект, который инкапсулирует, как взаимодействует набор объектов. Посредник способствует слабой связи, не позволяя объектам явно ссылаться друг на друга, и позволяет вам изменять их взаимодействие независимо.
Memento: Он фиксирует и восстанавливает внутреннее состояние объекта. Он не нарушает инкапсуляцию, захват и экстернализацию внутреннего состояния объекта, так что объект может быть восстановлен в это состояние позже.
Наблюдатель: Это способ уведомления об изменении ряда классов. Он определяет зависимость между объектами «один ко многим», так что, когда один объект меняет состояние, все его зависимости уведомляются и обновляются автоматически.
Государство: Он изменяет поведение объекта при изменении его состояния. Позволяет объекту изменять свое поведение при изменении его внутреннего состояния. Объект изменит свой класс.
Стратегия: Он инкапсулирует алгоритм внутри класса и определяет алгоритм семейства, инкапсулирует каждый из них и делает их взаимозаменяемыми. Стратегия позволяет алгоритму изменяться независимо от клиентов, которые его используют.
Шаблон: Отложите точные шаги алгоритма на подкласс. Он определяет каркас алгоритма в операции, перекладывая некоторые важные шаги на подклассы. Шаблонный метод позволяет нам создать подкласс, переопределяющий определенные шаги алгоритма без изменения структуры алгоритма.
Посетитель: Он определяет новую операцию для класса без изменений. Представляют собой операцию, выполняемую над элементами структуры объекта. Visitor позволяет вам определить новую операцию, не изменяя классы элементов, с которыми он работает.
На этом мы подошли к концу статьи. Я надеюсь, что вы поняли шаблоны дизайна в JavaScript, их типы, важность и их реализацию.
Теперь, когда вы разобрались с основами шаблонов проектирования в JavaScript, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и весна .
что такое поток демона
Есть вопрос к нам? Упомяните об этом в разделе комментариев этого блога «Паттерны проектирования в JavaScript», и мы свяжемся с вами как можно скорее.