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