Вы находитесь на странице: 1из 10

Сегодня

Паттерны проектирования

Полезные ссылочки
паттерны в жизни -
https://habrahabr.ru/post/136766/
Большой список паттернов и реализаций
https://github.com/ochococo/Design-Patterns-In-Swift

Архитектурные паттерны - 

https://habrahabr.ru/company/badoo/blog/281162/
objective - c описание патернов
https://maleevdimka.files.wordpress.com/2013/04/ios-patterns-cliff-notes2.pdf
Шаблон проектирования или паттерн (англ.   design pattern) в разработке
программного обеспечения   — повторяемая архитектурная конструкция,
представляющая собой решение проблемы проектирования в рамках некоторого
часто возникающего контекста.
Порождающие паттерны

(creational) делают систему независимой от способа создания объектов

Структурные паттерны

(structural) ищут простые способы наглядно представить связи


между объектами

Поведенческие паттерны

(behavioral) определяют сам процесс взаимодействия, «общения»


между объектами

Архитектурные паттерны

(behavioral) определяют общую архитектуру приложения


Порождающие паттерны
• Одиночка (singleton)
Singleton - это такой объект, который существует в системе только в
единственном экземпляре. Очень часто используется для хранения каких-то
глобальных переменных, например настроек приложения.

• Фабричный метод (factory method)

Паттерн позволяет переложить создание специфических объектов, на


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

• Абстрактная фабрика (abstract factory)

Абстрактная фабрик дает простой интерфейс для создания объектов которые


принадлежат к тому или иному сеймейству объектов.

• Прототип (Prototype)

Прототип – один из самых простых паттернов, который позволяет нам получить


точную копию необходимого объекта. Тоесть использовать как прототип для
нового объекта
• Фабричный метод (factory method)

Когда использовать:
1. Мы не до конца уверены объект какого типа нам необходим.

2. Мы хотим чтобы не родительский объект решал какой тип создавать, а его
наследники.

• Абстрактная фабрика (abstract factory)

Отличия от фабричного метода:


1. Фабричный метод порождает объекты одного и того же типа, фабрика же
может создавать независимые объекты 


2. Что бы добавить новый тип объекта – надо поменять интерфейс фабрики, в


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

Структурные паттерны
• Декоратор (decorator)

Шаблон декоратора используется для расширения или изменения


функциональности объектов во время выполнения путем их обертывания
в объект класса декоратора. Это обеспечивает гибкую альтернативу
использованию наследования для изменения поведения.

• Адаптер (adapter)
Сам паттерн состоит из трех частей: Цели, Адаптера (адаптера), и адаптируемого
(adapttee).

• Фасад (facade)

Шаблон фасада используется для определения упрощенного интерфейса


для более сложной подсистемы.

Поведенческие паттерны
• Наблюдатель (observer)

Шаблон наблюдателя используется, чтобы позволить объекту публиковать


изменения в его состоянии. Другие объекты подписываются для
немедленного уведомления о любых изменениях.

• Хранитель (memento)

Хранитель используется для захвата текущего состояния объекта и сохранения


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

• Цепочка ответственности (chain of responsibility)

Цепочка ответственности (chain of responsibility) – позволяет вам передавать


объекте по цепочке объектов-обработчиков, пока не будет найден необходимый
объект обработчик.

• Команда (command)

Итак, паттерн – команда – позволяет инкапсулировать всю информацию


необходимую для выполнения определенных операций, которые могут быть
выполнены потом, используя объект команды.
Наследоание - Композиция - Агрегация
Архитектурные паттерны
• MVC

• MVP

• MVVM

• VIPER

Вам также может понравиться