Курс Essential Architecture #Code

Я уже рассказывал про вводный курс по архитектуре. В этой статье будет расшифровка лекции про подходы к организации кода в приложении и про характеристики хорошего приложения в целом.

Рис. “Титульный слайд лекции”
Рис. “Итоги разработки в лоб”
Рис. “Контроль сложности — способ не допустить спагетти-код”
Рис. “План обсуждения”
Рис. “Парадигмы программирования”
Рис. “Парадигмы программирования — сравнительная таблица”
Рис. “Принципы модульности”
Рис. “Определение модульности”
Рис. “Метрики Cohesion и Coupling”
Рис. “Метрика Connascence”
Рис. “Принципы организации модулей”
Рис. “Связь SOLID с архитектурой”
Рис. “Паттерны проектирования”
Рис. “Классы паттернов из книги Gang of Four (GoF)”
Рис. “Принципы организации компонентов”
Рис. “Принципы организации компонентов ”
Рис. “Принцип Reuse/Release Equivalent Principle (REP)”
Рис. “Принцип Common Closure Principle (CCP)”
Рис. “Принцип Common Reuse Principle (CRP)”
Рис. “Диаграмма противоречий”
Рис. “Баланс смещен — слишком сложно переиспользовать”
Рис. “Баланс смещен — слишком много компонентов меняются (сложно саппортить и развивать компоненты)”
Рис. “Баланс смещен — слишком много ненужных релизов”
Рис. “Общая диаграмма противоречий”
Рис. “Принцип Acyclic Dependencies Principle (ADP)”
Рис. “Принцип Stable Dependencies Principle (SDP)”
Рис. “Принцип Stable Abstraction Principle (SAP)”
Рис. “Принцип Stable Abstraction Principle (SAP) — диаграмма”
Рис. “Принципы организации компонентов ”
Рис. “Библиотеки”
Рис. “Фреймворки”
Рис. “12 factor app”
Рис. “Первый фактор — кодовая база”
Рис. “Второй фактор — зависимости”
Рис. “Третий фактор — конфигурация”
Рис. “Четвертый фактор — backing services”
Рис. “Пятый фактор — Сборка, релиз, выполнение”
Рис. “Шестой фактор — Процессы”
Рис. “Седьмой фактор — привязка портов”
Рис. “Восьмой фактор — параллелизм”
Рис. “Девятый фактор — утилизируемость”
Рис. “Десятый фактор — паритет разработки/работы приложения”
Рис. “Одиннадцатый фактор — журналирование”
Рис. “Двенадцатый фактор — задачи администрирования”
Рис. “Рассмотренные вопросы”

Источники

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.

Director of digital ecosystem development department at Tinkoff. Bachelor at applied math, Master at system analysis, Postgraduate studies at economics.