Обзор высокого уровня
Гуру ООП (объектно-ориентированного программирования) однажды пришли к выводу, что бессмысленно изобретать велосипед каждый раз, когда вы сталкиваетесь с проблемой в разработке приложений. Они знали, что не всегда должны решать проблемы с нуля. Вместо этого они собрали и классифицировали проверенные в боях подходы к структурированию кода , которые повторялись во многих проектах . Вот почему во многих системах, приложениях и фреймворках мы видим повторяющиеся шаблоны и диаграммы классов.
Повторное использование известных шаблонов не является специфичным для разработки программного обеспечения. Оглянитесь вокруг себя. В литературе темы, мотивы и символы из Библии или других древних источников все еще присутствуют в современных произведениях. Это относится и к другим аспектам жизни.
Шаблоны, которые работали раньше, скорее всего, будут работать и сейчас. Теоретически, это обещание, которое дают нам шаблоны проектирования.
Прежде чем мы представим какой-либо конкретный шаблон дизайна, давайте сначала обсудим, из чего они сделаны и как они классифицируются.
Структура шаблона проектирования
Согласно G ИЗ , шаблон дизайна состоит из четырех элементов :
- Имя – одно или два слова, описывающие шаблон
- Описание проблемы – описывает, когда следует использовать данный шаблон
- Решение – абстрактное описание классов, объектов и их отношений в шаблоне
- Последствия – плюсы и минусы использования шаблона
Каждый шаблон относится к одной из трех категорий :
Creational – шаблоны, отвечающие за создание объектов.
Структурные – шаблоны, используемые в способе составления классов и объектов.
Поведенческие – шаблоны, которые описывают, как объекты и классы работают, разделяют задачи и сотрудничают.
Помимо этого, есть еще одна важная вещь, которая разделяет шаблоны проектирования:
Сфера применения
Область действия класса – когда шаблон классифицируется как область действия класса, это означает, что его цели достигаются во время компиляции с использованием наследования
Область действия объекта – когда шаблон классифицируется как область действия объекта, его цели достигаются за счет композиции во время выполнения
Резюме
Шаблон проектирования – это проверенное в боях, проверенное и общее решение часто встречающейся проблемы. Он описывает, как решить данную проблему, и может быть использован в самых разных ситуациях.
Оригинал: “https://dev.to/pjeziorowski/what-are-design-patterns-310j”