65 lines
3.3 KiB
Markdown
65 lines
3.3 KiB
Markdown
---
|
||
Тип: Книга
|
||
Статус: Заброшена
|
||
Название: Паттерны объектно-ориентированного проектирования
|
||
Автор:
|
||
- Эрих Гамма
|
||
- Ричард Хелм
|
||
- Ральф Джонсон
|
||
- Джон Влиссидес
|
||
Количество страниц: 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/Паттерны/Стратегия]]
|