- Категории
- Источники
- Все курсы
- Разделы
- Книги
Программное обеспечение никогда не "готово" до конца. Мир вокруг вашей программы меняется быстрее, чем вы этого хотите. Фреймворки и библиотеки заброшены и заменены чем-то лучшим (или просто чем-то новым), поэтому вам нужно мигрировать. Вы можете немного отложить эту работу, но со временем вам придется наверстать упущенное, иначе ваш проект может оказаться безнадежно устаревшим. Я уверен, что вы знаете один или два таких проекта! Как вы можете упростить все это для себя и будущих сопровождающих проект? Ключевое слово "Decoupling". Вы можете изменить дизайн своего кода, чтобы защитить его от изменений в любой зависимости, на которую опирается ваш проект. Разделение вашего кода — это способ сделать его перспективным (без выполнения слишком большого количества работы, которая «вам не понадобится»).
Около 10 лет назад я начал искать способы отделить свой код, но поначалу мне было трудно сделать это эффективно. Мой код был разделен в неправильных местах или неправильным образом. Я лучше разобрался в этой теме после нескольких интенсивных опытов с некоторыми унаследованными проектами, большой миграции фреймворка и полного переписывания проекта (я уверен, что этого можно было бы избежать). Я собрал много рецептов для развязки по пути. Эта книга дает вам практический обзор распространенных ситуаций, которые часто страдают от непреднамеренного высокого уровня связанности в веб-приложениях. Конечно, он также дает вам пошаговые рецепты для улучшения этих ситуаций. Примеры в этой книге показывают, как отвязаться от веб-фреймворка, механизма шаблонов, тестового фреймворка, ORM и так далее.
Разъединение — это одно, а оставаться разъединенным — совсем другое. Вот почему в этой книге мы сосредоточимся на том, как закрепить правила разделения с помощью PHPStan, автоматизированного инструмента статического анализа для PHP. Таким образом, нам не нужно полагаться на дисциплину и обзоры кода, но мы можем позволить инструменту указать на возможные ошибки связывания.