Введение в основные шаблоны проектирования iOS

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

Определение

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

Аналогия

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

Типы

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

  1. Структурные — эти шаблоны описывают, как объединение объектов образует более крупные структуры.
  2. Поведенческие — эти шаблоны описывают, как объекты взаимодействуют друг с другом.
  3. Создание — эти шаблоны описывают, как создавать или создавать экземпляры объектов для вас.

Шаблоны проектирования Model View Controller (MVC), Model View ViewModel (MVVM) и Facade относятся к категории структурных.

Шаблоны проектирования Делегирование, Стратегия и Наблюдатель относятся к категории "Поведение".

Шаблоны проектирования Builder, Singleton и Prototype относятся к категории Creation.

Диаграммы классов

Чтобы полностью понять шаблоны проектирования, необходимо уметь читать диаграмму классов.

Определение

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

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

Унифицированный язык моделирования (UML) служит стандартным языком для создания диаграмм классов, архитектурных чертежей и других системных иллюстраций.

Типы стрел

  1. Стрелки наследования всегда указывают на суперкласс.
  2. Использование простой стрелки указывает на свойство или, другими словами, «имеет». На приведенной выше диаграмме, если бы стрелка была не стрелкой наследования, а простой стрелкой с наконечником, указывающим в направлении студента, то диаграмма классов означала бы, что в колледже есть студент.
  3. Использование открытой стрелки с пунктирной линией указывает на то, что класс соответствует протоколу.
  4. Использование простой стрелки с пунктирной линией указывает на то, что класс делегирует протоколу.

Ключевые моменты

Независимо от того, какую ориентацию вы выберете, направление стрелок определяет значение.

  1. Вы всегда должны использовать форму имени класса в единственном числе в диаграммах классов, даже если отношение один ко многим. В приведенном выше примере мы не будем говорить «Студенты», даже если в колледже обычно будет более 1 студента.
  2. Вы также можете использовать поле для обозначения протокола, но чтобы отличить его от класса, вам нужно написать «‹‹протокол››» перед его именем внутри поля.
  3. Вы можете обозначать свойства и методы на диаграмме классов
  4. Если значение стрелки очевидно, пояснительный текст можно опустить (открытая стрелка с прямой линией [наследство], открытая стрелка с пунктирной линией [протокол], простая стрелка с прямой линией [имеет]). Однако для простой стрелки с пунктирной линией [делегаты] рекомендуется сохранить пояснительный текст.

Заключение

Если вы еще этого не сделали, присоединяйтесь к моему серверу Discord! Я хочу создать сообщество разработчиков, чтобы мы могли укреплять, мотивировать и узнавать друг друга в нашем путешествии по программированию.

Раздор

Если у вас есть какие-либо вопросы или комментарии, пожалуйста, не бойтесь спрашивать или общаться со мной в социальных сетях! Вы также можете отправить мне электронное письмо по адресу [email protected]

ЛинкедИн

Ангеллист

Гитхаб

"Портфолио"