Архитектура, структура, паттерн, методология?

Погружаясь в материалы по разработке (особенно UI), постоянно натыкаюсь на путаницу с терминами: архитектура, структура проекта/папок, паттерны, методологии. Классический пример - назвать просто структуру папок (src/components, src/features) «архитектурой» приложения. Но структура - это лишь физическое расположение файлов. Архитектура же - это высокоуровневый дизайн: почему модули разделены так, а не иначе, как они взаимодействуют и данные текут.

Возьмем всеми любимый FSD (Feature-Sliced Design) - это полезная методология организации кода (часто реализуемая через определенную структуру папок), но не сама архитектура. Она влияет на архитектурные решения. Паттерны (Observer, Singleton) - это готовые решения конкретных задач проектирования. Методологии (Agile, Scrum) - это подходы к процессу разработки или организации кода.

Если бы я мог вернуться в прошлое и дать совет себе-новичку, он звучал бы так: «Анализируя термин, определи - описывает ли он высокоуровневое проектирование системы (архитектура), физическую организацию файлов (структура), типовое решение задачи проектирования (паттерн) или принцип организации процесса/кода (методология)»?

Архитектура, структура, паттерн, методология? | Сетка — социальная сеть от hh.ru