Паттерн проектирования – описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте.
Проектировщик, знакомый с паттернами, может сразу же применять их к решению новой задачи, не пытаясь каждый раз изобретать велосипед.
Паттерны проектирования упрощают повторное использование удачных проектных и архитектурных решений.
Паттерны проектирования помогают выбрать альтернативные решения, упрощающие повторное использование системы.
Паттерны улучшают качество документации и сопровождения существующих систем, поскольку позволяют явно описать взаимодействие классов и объектов, а также причины, по которым система была построена именно так.
Недостатки – увеличение количества уровней абстракции, большее количество дополнительного кода.
Основные паттерны проектирования
- Model-View-Controller (MVC)
- Adapter
- ActiveRecord
- Abstract Factory (абстрактная фабрика)
- Bridge (мост)
- Builder (строитель)
- Chain of Responsibility (цепочка обязанностей)
- Command (команда)
- Composite (компоновщик)
- Decorator (декоратор)
- Facade (фасад)
- Factory Method (фабричный метод)
- Flyweight (приспособленец)
- Interpreter (интерпретатор)
- Iterator (итератор)
- Mediator (посредник)
- Memento (хранитель)
- Observer (наблюдатель)
- Prototype (прототип)
- Proxy (заместитель)
- Singleton (одиночка)
- State (состояние)
- Strategy (стратегия)
- Template Method (шаблонный метод)
- Visitor (посетитель)
📂 Паттерны | Последнее изменение: 10.01.2024 17:16
Link to original
Основополагающие книги
- Design Patterns. Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. – Addison Wesley, 1995.
- Паттерны объектно-ориентированного проектирования. – СПб.: Питер, 2021. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж.
References
https://habr.com/ru/companies/alconost/articles/522662/ https://github.com/faif/python-patterns
📂 Паттерны | Последнее изменение: 10.01.2024 16:56