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