АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python и фреймворки. Сегодня последний день для записи! Жми!
25 of 59 menu
Бесплатный ЛЕТНИЙ курс по React фреймворку NextJS. Мы уже начали, но еще можно присоединится! Жми для записи!

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

Шаблон проектирования представляет собой образец или пример правильного решения какой-либо распространенной задачи при разработке ПО.

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

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

Существуют основные типы шаблонов проектирования:

  • Шаблон делегирования (Delegation pattern) передает ответственность за выполнение своего поведения связанному объекту.
  • Шаблон функционального дизайна (Functional design) обеспечивает для каждого модуля конкретную функцию, которая исполняется с минимальным побочным эффектом для других модулей.
  • Неизменяемый интерфейс (Immutable interface) создает неизменяемый объект.
  • Интерфейс (Interface) обеспечивает структурирование программ для более простого их понимания.
  • Интерфейс-маркер (Marker interface) применяется для отметки наличие или отсутствие реализации атрибута или аннотации.
  • Контейнер свойств (Property container) добавляет дополнительные свойства во внутренний контейнер класса вместо того просто расширить класс новыми свойствами.
  • Канал событий (Event channel) создает канал, по которому идут сообщения в шаблоне издатель - подписчик. Для этой цели в данном шаблоне есть объект-представитель, который не является ни издателем, ни подписчиком, а только обеспечивает их связь.

Смотрите также

  • шаблон антипаттерн,
    который определяет неправильное решение задачи
  • набор концепций Парадигма программирования,
    который определяет подход к программированию
  • техника planning-poker,
    которая предназначена для оценки объема и сложности задач
  • диаграмма сгорания задач,
    которая применяется для графическое представление объема работы
enru