Ссылка на статью о среднем
Проверьте статью, чтобы узнать больше о концепции и реализации.
Чистая архитектура - это практическое решение для архитектуры программного обеспечения от легендарного Роберта С. Мартина (он же «дядя Боб»). Применяя универсальные правила программного обеспечения AR Chitecture, вы можете значительно повысить производительность разработчиков на протяжении всего срока службы любой программной системы.
Зачем максимизировать количество решений, не принятых? !! Мы, как разработчики, знаем в эксперименте, что фреймворки, которые мы выбираем в начале проекта (базы данных или веб -структуры и т. Д.), Трудно заменить в течение жизни проекта, и это связано с жесткой связью и множеством других ранних решений, одной из общих ошибок является то, что мы строим наш проект на основе этих структур, а затем позволяют бизнес -логике, чтобы разорвать их. Ответ заключается в том, что мы должны создать архитектуру, которая позволяет измениться, да, я подчеркиваю изменения. Изменение низкокомпонентов и рамок, не достигая логики ядра и компонентов высокого уровня.
В модель подчеркивается, что каждый программный проект построен только из двух элементов политики и деталей. Политика (компоненты высокого уровня) является основой программной системы, которая включает в себя все бизнес-правила, все объекты и все, что делает уникальную идентичность для этого программного обеспечения. Как организация клиента или действие по проверке в платформе электронной коммерции. Деталь (компоненты более низкого уровня) - это способы, которыми люди могут взаимодействовать с бизнес -правилами, шаблоны называют их как устройства IO, базы данных, веб -серверы и т. Д. Как кнопка оформления заказа, которая запускает соответствующее деловое правило или сохраняет это сущность клиента в базе данных или файле или любой механизм постоянства.
Окончательная цель схемы состоит в том, чтобы отделить компоненты высокого уровня от компонентов низкого уровня и попытаться сохранить их вместе и делать невосприимчивые на высоком уровне от изменений в деталях. Позвольте мне сделать всю эту идею конкретной в вашем уме по некоторым примерам. Представьте себе программное обеспечение, которое создано в верхней части реляционной базы данных, такой как MySQL, и использует Express JS в качестве веб -сервера, затем через год заинтересованные стороны вводят новые требования и функции, которые несовместимы с реляционной базой данных и требуют базы данных NOSQL. Если реализация программного обеспечения следует хорошей архитектуре с свободной связью между компонентами, вам не нужно делать революцию с изменениями. Довольно легко заменить базу данных или веб-сервер или любые другие детали программного обеспечения, которое соответствует решению, не влияя на бизнес-правила и компоненты более высокого уровня.
Дядя Боб подчеркивает твердые принципы, включающие в себя чистую архитектуру, чтобы сформировать читаемое, обслуживание, масштабируемое и простое развертываемое программное решение.