Паттерн проектирования – описание взаимодействия объектов и классов, адаптированных для решения общей задачи проектирования в конкретном контексте.


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

Паттерны проектирования упрощают повторное использование удачных проектных и архитектурных решений.

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

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

Недостатки – увеличение количества уровней абстракции, большее количество дополнительного кода.


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

  • 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