1. Creational
1.1. B
1.1.1. Builder
1.1.1.1. Позволяет создавать сложные объекты пошагово. Строитель даёт возможность использовать один и тот же код строительства для получения разных представлений объектов. Можно использовать директора, который будет задавать порядок шагов строительства, а строитель — выполнять их.
1.1.1.1.1. Пример из жизни:
1.2. A
1.2.1. Abstract Fabric
1.2.1.1. позволяет создавать семейства связанных объектов, не привязываясь к конкретным классам создаваемых объектов.Клиентский код должен работать как с фабриками, так и с продуктами только через их общие интерфейсы. Это позволит подавать в ваши классы любой тип фабрики и производить любые продукты, ничего не ломая
1.3. P
1.3.1. Prototype
1.3.1.1. позволяет копировать объекты, не вдаваясь в подробности их реализации. Он вводит общий интерфейс для всех объектов, поддерживающих клонирование. Это позволяет копировать объекты, не привязываясь к их конкретным классам. Обычно такой интерфейс имеет всего один метод clone();
1.4. F
1.4.1. Factory method
1.4.1.1. Определяет общий интерфейс для создания объектов в суперклассе, позволяя подклассам изменять тип создаваемых объектов. предлагает создавать объекты не напрямую, используя оператор new, а через вызов особого фабричного метода. Не пугайтесь, объекты всё равно будут создаваться при помощи new, но делать это будет фабричный метод
1.5. S
1.5.1. Singleton
1.5.1.1. гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа. Конструктор private, методы статические
2. Structured
2.1. B
2.1.1. Bridge
2.2. A
2.2.1. Adapter
2.3. P
2.3.1. Proxy
2.3.1.1. Позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу. (Платёжная карточка — это заместитель пачки наличных).
2.4. F
2.4.1. Facade
2.5. F
2.5.1. Flyweight
2.6. C
2.6.1. Composite
2.7. D
2.7.1. Decorator
3. Behavior
3.1. C
3.1.1. Chain of Responsibility
3.2. C
3.2.1. Command
3.3. O
3.3.1. Observer
3.4. M
3.4.1. Mediator
3.5. M
3.5.1. Memento
3.6. I
3.6.1. Iterator
3.7. T
3.7.1. Template method
3.8. S
3.8.1. State
3.9. S
3.9.1. Strategy
3.10. V
3.10.1. Visitor
3.11. G
3.11.1. Gateway