Strong-stuff.ru

Образование Онлайн
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Шаблоны проектирования java книга

Шаблоны проектирования в JavaScript

Возможно, вы уже знакомы с такими фреймворками/библиотеками как ReactJS, Angular или jQuery, но знаете ли вы, зачем они были созданы? Какую проблему решают? Какой шаблон проектирования используют? Шаблоны проектирования очень важно знать, и, могу предположить, некоторые из разработчиков-самоучек могли их пропустить. Так что же такое шаблоны проектирования? Что они делают? Как мы можем их использовать? Почему их следует использовать?

Что такое шаблоны проектирования и зачем их использовать?

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

Шаблоны проектирования — проверенный способ для решения проблем. Они не включают в себя такие очевидные вещи, как использование for loop для перебора элементов массива. Их используют для решения более сложных проблем, с которыми мы сталкиваемся при разработке больших приложений.

Некоторые из плюсов использования шаблонов проектирования:

  • Не нужно изобретать велосипед (ленивый программист => хороший программист)
  • Находишь общий язык с разработчиками
  • Выглядишь круто и профессионально
  • Если ты самоучка, то это поможет тебе изрядно выделиться среди конкурентов
  • Эти шаблоны проходят сквозь все языки программирования

Типы шаблонов и примеры некоторых из них

Порождающие шаблоны (Creational): создание новых объектов.

  1. Конструктор (Constructor)
  2. Модульный (Module)
  3. Фабрика (Factory)
  4. Синглтон(Singletion)

Структурные шаблоны(Structural): упорядочивают объекты.

Поведенческие (Behavioral): как объекты соотносятся друг с другом.

  1. Наблюдатель(Observer)
  2. Посредник(Mediator)
  3. Команда(Command)
Читать еще:  Книги по django на русском

Порождающее шаблоны

Эти шаблоны используются для создания новых объектов.

Constructor

Создает новые объекты в их собственной области видимости.

Module

Используйте для инкапсуляции методов.

Factory

Используйте для того, чтоб упростить создание объектов, проще генерировать экземпляры объектов, не требует использования конструктора.

Singleton

Используйте для того, чтобы ограничиться одним экземпляром объекта.

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

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

Структурные шаблоны

Как создаются объекты и какие взаимоотношения между ними. Расширяет или упрощает функциональность.

Decorator

Используйте, чтоб добавлять новую функциональность объектам (Расширяет функциональность).

Facade

Используйте для создания простого интерфейса (упрощает функциональность, как например jQuery).

Поведенческие шаблоны

Распределяют обязанности между объектами и тем, как они сообщаются.

Observer

Позволяет объектам наблюдать за объектами и быть оповещенными об изменениях.

Mediator

Один объект контролирует сообщение между объектами, поэтому объекты не сообщаются друг с другом на прямую.

Command

Инкапсулирует вызов метода в один объект.

Фуух, сколько этих шаблонов… Я надеюсь, вы еще здесь, потому что у нас осталось еще 22 шаблона для рассмотрения. Шучу, это все! Но есть еще шаблоны, которые следует изучить, поэтому я добавлю ссылки для тех, кто хочет узнать об этом побольше.

CodePen с примерами из этой статьи: JS Design Patterns Pen.

Отличная книга о шаблонах проектирования в javaScript: Learning JS Design Patterns.

Читать еще:  Книги про хакерство

Pluralsight курс о шаблонах проектирования JS : Practical Design Patterns in JS.

Ссылка на основную публикацию
Adblock
detector