Чистая архитектура

Чистая архитектура
Мартин Роберт
Жанры: Программирование
Год издания: 2018
Год прочтения: 2020
Моя оценка: Хорошая
Количество прочтений: 1
Количество страниц: 352
Конспект (страниц): 0
Первоначальный язык издания: Английский
Переводы на другие языки: Русский, Испанский, Португальский, Китайский, Французский

Книга состоит из 7 частей, каждая из которых, в свою очередь, состоит из нескольких глав (от 5 до 10). Давайте кратко разберем разделы.

Введение

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

Начальные основы: парадигмы программирования

Раздел начинается с краткой истории программирования со времен Алана Тьюринга и первых языков. Описывается структурное программирование, ООП, функциональное программирование. Пару слов сказано о тестировании. Есть примеры кода — они на C.

Принципы дизайна

Здесь уже идет упоминание о паттерне, а скорее даже о правиле SOLID. В принципе, это все. 5 отдельных глав, каждая из которых рассматривает один принцип.

Принципы организации компонентов

Раздел включает разбор понятия компонента. Под компонентом можно также понимать модули и прочие независимые куски кода. Также разобраны такие темы, как связность и сочетаемость компонентов. Уделяется внимание абстракциям, проектированию сверху вниз и снизу вверх. Подняты проблемы циклической зависимости компонентов.

Архитектура

Здесь уже начинается что-то более интересное и практическое. Хотя начало раздела все равно больше стоит отнести к сугубо теоретическому, ибо здесь речь идет о стадиях (фазах) разработки ПО. Также уже в самом начале автор затрагивает такую важную тему, как разделение уровней кода, которые далее подробно раскрываются в последующих главах данного раздела. Одно из самых сложных, по мнению автора, в разделении кода — это определение границ (между компонентами), с чем сложно не согласиться. Описываются пару примеров и реальных историй. Также рассматривается тема монолитов. Наконец, после перечисления многих подводных камней, автор подходит к теме чистой архитектуры. В его понимании чистая архитектура — это слоеная, луковая архитектура, которая берет свое начало от правил бизнес-логики и заканчивается последним уровнем в виде систем ввода-вывода и различных интерфейсов. Кратко обсуждается место и роль баз данных в такой архитектуре и других паттернов, таких как контроллеры, модели и прочие, в чистой архитектуре.

Детали

Именно так звучит название одного из последних разделов. Здесь более детально уделяется внимание роли базы данных в проекте и веб-интерфейсам. Говорится о том, что фреймворк — это всего лишь инструмент, и не стоит строго привязываться к рекомендуемой архитектуре того или иного фреймворка. Завершается книга приложением, в котором рассказывается, какими раньше были компьютеры и как приходилось с ними работать.

Заключение

Для начала перечислю плюсы или, скорее, просто особенности данной книги. Легко и быстро читается, так как немного кода, зато напротив встречаются диаграммы и блок-схемы. Есть иллюстрации к каждой главе в подходящем едином стиле. Из минусов — это то, что книга скорее для начинающих разработчиков. Новички должны ее прочитать детально, более опытные — скорее бегло ознакомятся (это не займет много времени), а вот опытным разработчикам и архитекторам ПО книга вряд ли покажется полезной.

Вверх