Base/Knowledges/Библиотека/Книги/Шаблоны корпоративных приложений.md

62 lines
4.9 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.

---
Тип: Книга
Статус: Хочу прочитать
Название: Шаблоны корпоративных приложений. Исправленное издание
Автор:
- Мартин Фаулер
Количество страниц: 544
Прогресс: 0
Формат: Бумажная
Обложка: Библиотека/Книги/covers/enterprise-patterns.jpg
Начата:
Закончена:
Оценка:
Сложность:
Теги:
- it
- programming
- architecture
- patterns
Категории:
- архитектура
- разработка программного обеспечения
Источник:
Ссылка:
---
![[covers/enterprise-patterns.jpg]]
# Шаблоны корпоративных приложений. Исправленное издание
## 📖 О книге
Создание корпоративных систем — дело далеко не простое: по мере роста сложности затраты на разработку растут экспоненциально. Мартин Фаулер совместно с группой экспертов выделил более сорока часто встречающихся архитектурных приёмов и оформил их в виде типовых решений (паттернов). Книга охватывает расслоение приложений, организацию бизнес-логики, объектно-реляционное отображение, паттерны представления данных в Web (MVC), управление параллельными заданиями и стратегии распределённых вычислений. Каждый паттерн сопровождается примерами на Java и C#. Несмотря на возраст, принципы, изложенные в книге, остаются актуальными — технологии меняются, а фундаментальные проблемы проектирования корпоративного ПО нет.
---
## 🧠 Ключевые идеи
- **Расслоение архитектуры**: разделение приложения на слои (Presentation, Domain, Data Source) снижает связность и упрощает сопровождение — каждый слой знает только о соседнем
- **Паттерны организации бизнес-логики**: Transaction Script, Domain Model и Table Module — три кардинально разных подхода, выбор между которыми определяет всю дальнейшую архитектуру
- **Объектно-реляционное отображение**: несоответствие между объектной и реляционной моделями (impedance mismatch) — одна из главных сложностей корпоративных приложений; паттерны (Data Mapper, Active Record, Row Data Gateway) помогают её контролировать
- **Паттерны представления в Web**: MVC и Page Controller vs Front Controller — выбор определяет, насколько легко тестировать и расширять UI-слой
- **Осторожность с распределёнными объектами**: удалённый вызов дорог, поэтому интерфейсы между сервисами должны быть «грубозернистыми» — принцип, актуальный и для современных микросервисов
---
## 💬 Важные цитаты
> «Создание компьютерных систем — дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся всё более трудоёмкими, причём затраты труда растут экспоненциально.»
> «Несмотря на эволюцию технологий — от Smalltalk через CORBA до Java и .NET, — глобальные принципы решения распространённых проблем проектирования остаются неизменными.»
> «Первое правило распределённых объектов гласит: не распределяйте объекты без крайней необходимости.»
---
## 💡 Как применить в моих проектах
---
## 🔗 Связанные заметки
- [[Чистая архитектура]]
- [[Паттерны объектно-ориентированного проектирования]]