62 lines
4.9 KiB
Markdown
62 lines
4.9 KiB
Markdown
---
|
||
Тип: Книга
|
||
Статус: Хочу прочитать
|
||
Название: Шаблоны корпоративных приложений. Исправленное издание
|
||
Автор:
|
||
- Мартин Фаулер
|
||
Количество страниц: 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, — глобальные принципы решения распространённых проблем проектирования остаются неизменными.»
|
||
|
||
> «Первое правило распределённых объектов гласит: не распределяйте объекты без крайней необходимости.»
|
||
|
||
---
|
||
|
||
## 💡 Как применить в моих проектах
|
||
|
||
|
||
---
|
||
|
||
## 🔗 Связанные заметки
|
||
- [[Чистая архитектура]]
|
||
- [[Паттерны объектно-ориентированного проектирования]]
|