Base/Knowledges/Библиотека/Книги/Чистая архитектура.md

59 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.

---
Тип: Книга
Статус: Прочитано
Название: Чистая архитектура. Искусство разработки программного обеспечения
Автор:
- Роберт Мартин
Количество страниц: 352
Прогресс: 352
Формат: Бумажная
Обложка: Библиотека/Книги/covers/clean-architecture.jpg
Начата:
Закончена: "2023"
Оценка: "8"
Сложность:
Теги:
- it
- programming
- architecture
- clean-code
Категории:
- разработка программного обеспечения
- архитектура
Источник:
Ссылка:
---
![[covers/clean-architecture.jpg]]
# Чистая архитектура. Искусство разработки программного обеспечения
## 📖 О книге
Книга Роберта Мартина о принципах построения хорошей программной архитектуры. Автор объясняет, что архитектура — это не про фреймворки и инструменты, а про разделение ответственностей и управление зависимостями. В центре — принципы SOLID, компонентная архитектура и «кричащая архитектура», где структура проекта отражает его предметную область, а не технологический стек.
---
## 🧠 Ключевые идеи
- **Главная цель архитектуры** — минимизировать человеческие усилия на создание и поддержку системы, а не просто заставить её работать
- **Зависимости должны смотреть внутрь** (Dependency Rule): код бизнес-логики не должен зависеть от фреймворков, БД или UI — только наоборот
- **SOLID на уровне компонентов**: принципы стабильных зависимостей (SDP) и стабильных абстракций (SAP) — архитектурный аналог принципов классового дизайна
- **Фреймворки — это детали**: Spring, Rails, Django — инструменты, а не основа архитектуры; их нужно держать на периферии
- **Разделение на слои**: Entities → Use Cases → Interface Adapters → Frameworks & Drivers — каждый слой знает только о слоях внутри себя
---
## 💬 Важные цитаты
> «Цель архитектуры программного обеспечения — уменьшить человеческие трудозатраты на создание и сопровождение системы.»
> «Хорошая архитектура делает систему простой для понимания, разработки, сопровождения и развёртывания.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Чистый код]]