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

Александр Шитик
Александр Шитик

Пишу свои посты и книги, делаю обзоры на фильмы и книги. Эксперт в области космологии и астрономии, IT, продуктивности и планирования.

Чистая архитектура в PHP
Kristopher Wilson
Жанры: Программирование
Год издания: 2015
Год прочтения: 2020
Моя оценка: Наивысшая
Количество прочтений: 1
Количество страниц: 251
Конспект (страниц): 6
Первоначальный язык издания: Английский
Переводы на другие языки: Переводы на другие языки не найдены

Общая информация

Книга объёмом 250 страниц о построении чистой архитектуры на PHP (примерно той самой, о которой писал дядюшка Боб в своей книге). Хотя вместо PHP вполне можно подставить Java, C# или другой ООП-язык старого эшелона. Книга, которая попалась мне, была на английском языке, так что я не уверен, что существуют переводы на другие языки. В книге встречаются вставки кода (причём цветные), изображений почти нет, есть пара диаграмм и блок-схем.

Содержание книги

Книга состоит из 4 разделов:

  1. Проблемы с кодом
  2. Наборы инструментов для решения проблем
  3. Чистая (слоеная / луковая) архитектура
  4. Примеры из чистой архитектуры

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

Второй раздел (про инструменты решения) состоит из нескольких глав. Первая из них — это паттерны проектирования (в том числе есть примеры некоторых паттернов). Далее — подробный разбор принципов SOLID. Следующая глава подробно разбирает тематику внедрения зависимостей (Dependency Injection). Автор не обходит вниманием и интерфейсы — это следующая глава.

Разбор чистой архитектуры начинается с анализа паттерна MVC и описания каждого его компонента. Также вместе с этим разбирается маршрутизация, и в конце первой главы автор указывает на слабые стороны данного архитектурного подхода. После этого начинаются главы про луковую архитектуру с подробным разбором каждого компонента. Каждый разбор сопровождается примером кода на PHP под тот или иной слой (скорее абстрактным кодом без глубокой проработки деталей). Немало внимания уделяется и теоретическим аспектам и вопросам, например: почему не должно быть конкретной завязки на базу данных или фреймворк и какова роль тестирования в такой архитектуре.

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

Мнение

Концепция слоеной архитектуры, которую наверняка бы одобрил дядя Боб (Роберт Мартин), реализована непосредственно на языке PHP. Внедрение зависимостей, использование интерфейсов. Описание и реализация некоторых популярных паттернов, SOLID и другие подходы к построению архитектуры на PHP. И самое главное — всё подкреплено практическими примерами. Поэтому я могу порекомендовать эту книгу для ознакомления или даже глубокой проработки.

Вверх