Самый легкий поясняющий сериал.

_00 / Что такое шаблоны проектирования?

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

_01 / Обязательное условие — ООП

Пройдемся по ООП. Чтобы понять ООП, вам нужно знать четыре вещи: абстракцию, инкапсуляцию, наследование и полиморфизм.

Абстракция: позволяет вам сосредоточиться на самых важных вещах, поэтому вам не нужно знать подробности, когда вы говорите об элементе абстракции. Было бы полезно, если бы вы сосредоточились на ценных вещах.

Инкапсуляция. Откройте интерфейс, которым хотите поделиться. Постороннему не нужно знать подробности.

Наследование. Пусть у ваших детей будут ваши атрибуты и методы.

Полиморфизм: перегрузка или перегрузка. Переопределение. Перегрузка - это то же имя метода, но поддерживает ввод разных параметров. В TS у нас нет перегрузки. Переопределение перезаписывает родительский метод.

_02 / Условие — ТВЕРДЫЙ

SOLID — это аббревиатура. Следуя этой формуле, ваш код может быть признан «хорошим кодом». Это означает принцип единой ответственности, принцип открытия-закрытия, принцип замещения Лискова, принцип разделения интерфейса и принцип инверсии зависимости.

Принцип единой ответственности: сосредоточьтесь только на ОДНОМ деле.

Принцип открытия-закрытия: открыть для масштабирования, закрыть для изменения. Ака, легко масштабировать свой код, но когда вы пытаетесь масштабировать свой код, не изменяйте существующий код.

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

Принцип разделения интерфейса: не позволяйте вашему классу реализовывать интерфейс с ненужными методами.

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

_03 / Какие есть категории шаблонов проектирования?

Творческий. Сосредоточьтесь на том, как создать экземпляр.

Структурный. Сосредоточьтесь на том, как плавно соединить разные классы.

Поведение. Сосредоточьтесь на том, как изменить поведение вашего класса (логика метода).

_04 / Перейти в мир.

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

  • Во-первых, узнайте, что пытается передать концепция DP.
  • Во-вторых, понять критические роли каждого DP.
  • В-третьих, знайте, каковы компромиссы.

Вот и все! Давайте начнем!