Архитектура города
Prosto_Elena
- 102 книги

Ваша оценкаЖанры
Ваша оценка
Перевод хороший. В целом книга произвела позитивное впечатление, но и без ложки дегтя не обошлось.
В третьей главе допущена грубая ошибка в формуле расчета абстрактности:
Это не верно, значение абстрактности должно находиться в интервале от 0 до 1, где 0 означает, что в модуле нет абстрактных артефактов, а 1 означает, что все артефакты модуля абстрактные. Следовательно абстрактность модуля есть отношение количества абстрактных артефактов модуля к общему количеству артефактов в этом модуле.
В той же главе автор упоминает формулу расчета LCOM, но не утруждает себя её объяснением:
Далее идет объяснение собственно метрики, но не формулы. А зачем нужно было рисовать формулу?
В четвертой главе автор вылил много воды, красочно расписывая множество самых разнообразных архитектурных свойств, но не сделал главного: не описал именно те архитектурные свойства, которые будут использоваться в следующих главах при сравнении архитектурных стилей.
Структура второй части книги выстроена логично: автор показал преимущества и недостатки различных архитектурных стилей в разрезе выбранных архитектурных свойств, оценивая их по пятибалльной шкале.
В девятой главе автор классифицирует архитектурные стили на монолитные и распределенные. Однако, в какой Вселенной конвейерная архитектура должна быть исключительно монолитной, а архитектура, управляемая событиями, обязательно распределенной? Например, MapReduce в Hadoop это классическая конвейерная обработка, которая применяется в распределенной среде. А используя ApplicationEvent и ApplicationEventPublisher в Spring Framework, вы можете реализовать EDA в монолитном приложении.
И напоследок о курьезном, я никак не ожидал в книге, которая называется "Фундаментальный подход к программной архитектуре", встретить инструкцию, как правильно пожимать руки коллегам, и рассуждения о целесообразности объятий (хорошо хоть не поцелуев взасос) при встрече.

Темой построения архитектуры, мне кажется, должен интересоваться любой программист, независимо от его уровня, если он хочет развиваться в профессии. Я, как любой такой прогрраммист посматривал видео докладов по архитектуре с различных конференций. И, сюрприз-сюрприз, когда я читал эту книгу, стало очевидно, что некоторые докладчики, не мудрствуя лукаво, просто брали и вставляли некоторые идеи из этой книги, даже не пытаясь как-то переосмысленно перефразировать :) Не буду критиковать докладчиков за такой подход, но то, что они брали материал из этой книги (в том числе) говорит, как минимум о том, что прочитать ее стоит. Материл представлен интересно, читается легко, но некоторые моменты я рекомендую перечитывать, чтобы они прочно осели где надо в голове.

Принимая во внимание все вышеизложенное, архитектор должен ответить на следующие вопросы:
Монолит или распределенная архитектура?
Где должны находиться данные?
Каков будет стиль обмена данными между сервисами: синхронным или асинхронным?

Применение паттерна событий рабочего процесса является одним из способов решить проблему обработки ошибок в асинхронном рабочем процессе

Схема конвейерной архитектуры применяется в самых разных приложениях, особенно при решении задач с простой односторонней обработкой. Напри-мер, этот паттерн используется многими инструментами электронного обмена данными (Electronic Data Interchange, EDI), позволяя с помощью каналов и фильтров создавать преобразования документа из одного типа в другой. Ин-струменты ETL (extract, transform, load — извлечение, преобразование, загрузка) также используют конвейерную архитектуру для потока и изменения данных при их перемещении из одной базы или другого источника данных в другую.
Оркестраторы и медиаторы процессов, такие как Apache Camel1, используют конвейерную архитектуру для передачи информации от одного этапа бизнес-процесса к другому.




















Другие издания
