Base/Knowledges/Библиотека/Книги/Паттерны объектно-ориентированного проектирования.md

65 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
Тип: Книга
Статус: Заброшена
Название: Паттерны объектно-ориентированного проектирования
Автор:
- Эрих Гамма
- Ричард Хелм
- Ральф Джонсон
- Джон Влиссидес
Количество страниц: 448
Прогресс:
Формат: Бумажная
Обложка: Библиотека/Книги/covers/gof-patterns.jpg
Начата: "2024"
Закончена:
Оценка: "10"
Сложность: 10/10
Теги:
- it
- programming
- patterns
- oop
- design-patterns
Категории:
- разработка программного обеспечения
- проектирование
Источник:
Ссылка:
---
![[covers/gof-patterns.jpg]]
# Паттерны объектно-ориентированного проектирования
## 📖 О книге
Культовая книга «Банды четырёх» (Gang of Four) — Гамма, Хелм, Джонсон и Влиссидес. Именно она ввела в обиход понятие «паттерн проектирования» применительно к ООП и описала 23 классических паттерна. Книга считается обязательной для каждого программиста, но читается тяжело: академический стиль, примеры на C++ и Smalltalk, высокая плотность концепций. Лучше воспринимается после практического опыта с проектированием.
---
## 🧠 Ключевые идеи
- **Паттерн = имя + проблема + решение + последствия**: стандартизированный словарь для обсуждения архитектурных решений в команде
- **Три категории**: порождающие (Abstract Factory, Builder, Singleton...), структурные (Adapter, Decorator, Proxy...), поведенческие (Observer, Strategy, Command...)
- **Принцип «программировать на интерфейс, а не на реализацию»**: зависимости от абстракций делают систему гибкой и расширяемой
- **Предпочитайте композицию наследованию**: паттерны вроде Decorator и Strategy показывают, как добавлять поведение без иерархий наследования
- **Открыто/закрытый принцип в действии**: хорошо спроектированные паттерны позволяют расширять поведение без изменения существующего кода
---
## 💬 Важные цитаты
> «Программируйте в расчёте на интерфейс, а не на реализацию.»
> «Предпочитайте композицию объектов наследованию классов.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Чистая архитектура]]
- [[IT/Паттерны/Декоратор]]
- [[IT/Паттерны/Стратегия]]