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

4.9 KiB
Raw Blame History

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

«Первое правило распределённых объектов гласит: не распределяйте объекты без крайней необходимости.»


💡 Как применить в моих проектах


🔗 Связанные заметки