Архитектура - это описание приложения, включающее программные модули (компоненты), их свойства и отношения между ними. Это не только структура папок в приложении!!!
Зачем нужна архитектура?
- масштабируемость, поддержка проектов
- явность (куда положить тот или иной файл и как искать компоненты в проекте, как быстро внедрить нового человека в проект)
- гибкость при изменении требовании бизнеса
- переиспользуемость модулей и компонентов
- устойчивость (удаление модулей и компонентов)
Классическая архитектура
Проблемы этой архитектуры
- не явные связи между модулями
- не всегда очевидно куда положить файл и где реализовывать функционал проекта
- проблемно вводить нового человека в проект
- трудно поддерживать
- не выделяются явно бизнес-сущности
Когда использовать ?
- Когда важна скорость разработки
- Когда не планируется в дальнейшем поддерживать проект