@d4c0

О чём архитектура ПО?

Какое-то время назад прочитал «Чистую архитектуру», в книге говорилось про интерфейсы и как с их помощью можно менять направление зависимости (dependency inversion), и что интерфейсы позволяют провести архитектурные границы. Также автор выделил слои в приложении. Не суть. Суть в том что я точно помню диаграммы классов.
Сегодня загуглил что-то вроде "виды архитектур по", и нашёл эту статью, она называется «Как выбрать правильную архитектуру программного обеспечения для вашего проекта», но это совсем другое, не то, о чем я читал, это будто про инфраструктуру. А ещё вот статья. Автор приводит некоторую схему состоящую из 3-х слоёв, и рассуждает о них в разрезе технологий, мол слой "интерфейс" это HTML, CSS, JS, и т.д.

Я запутался, что в итоге такое архитектура? Это про код, про инфраструктуру или про технологии? Как понять о каком типе архитектуры речь, когда о ней заходит разговор?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
AshBlade
@AshBlade
Просто хочу быть счастливым
Я запутался, что в итоге такое архитектура? Это про код, про инфраструктуру или про технологии?

Архитектура это про то, как компоненты связаны между собой.

Заметь, что такое "компоненты" не сказано. Это может быть и код, и инфраструктура, и сервис.
Например, архитектуру кода можно представить через диаграмму классов UML. Архитектуру инфраструктуры, можно через C4.

Как понять о каком типе архитектуры речь, когда о ней заходит разговор?


По контексту.
Разговор о функции или классе - об архитектуре кода.
Разговор о базе данных или сервисе - об архитектуре инфраструктуры.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Первая ссылка похоже на правду. Вторая тоже относится к архитектуре, но как-то слабо описано.

В целом архитектура нужна для того, чтобы проект и его код был понятен каждому. Чтобы доработки делались просто. Чтобы одна ошибка не приводила к смерти всего проекта. Другими словами Архитектура ПО (разработка архитектуры ПО), это искусство и наука строить и проектировать программное обеспечение таким образом, чтобы оно удовлетворяло всем заявленным к нему требованиям, а также обеспечивало максимальную простоту доработки, развертывания и масштабирования приложения.

Архитектура и про код, и про технологии, и про инфраструктуру.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы