О курсе
Курс посвящен архитектуре приложений и предназначен для разработчиков, желающих расширить свое мышление до архитектурного уровня. Программа состоит из восьми модулей, начиная с введения в архитектуру, где рассматриваются проблематика проектирования и важность изоляции компонентов. Далее изучается язык моделирования UML, принципы ООП, включая SOLID и DRY, а также паттерны проектирования и антипаттерны. Отдельное внимание уделяется чистой архитектуре, архитектурным границам и различным подходам, таким как MVC, MVVM, MVP, гексагональная архитектура. В заключительных модулях рассматриваются архитектуры на разных уровнях масштаба и обзор инструментов и технологий, включая системы хранения данных, языки программирования и фреймворки. Практические задания и лабораторные работы основаны на реальных задачах, что позволяет применить полученные знания.
Что рассматривается в программе
- Рассматривается проектирование слабосвязанных компонентов и изоляция по причинам изменений
- Изучается язык UML для чтения и создания диаграмм классов и последовательностей
- Разбираются принципы ООП, включая SOLID и DRY
- Анализируются порождающие, структурные и поведенческие паттерны проектирования, а также антипаттерны
- Изучается чистая архитектура и методы проведения архитектурных границ
- Рассматриваются различные архитектурные подходы: MVC, MVVM, MVP, гексагональная архитектура
- Проводится обзор инструментов и технологий: системы хранения данных, языки программирования, фреймворки, Kubernetes
Кому может быть полезен курс
- Разработчикам, которые хотят научиться мыслить как архитекторы
- Team Lead и Tech Lead, которым нужно управлять изменениями в проекте и формировать единое понимание архитектуры в команде
- Всем, кто интересуется проектированием сложных систем и хочет повысить свою ценность как специалиста
Вопросы о программе
Какие темы охватывает курс?
Курс охватывает введение в архитектуру, UML, принципы ООП, паттерны проектирования, чистую архитектуру, различные архитектурные подходы (MVC, MVVM, MVP, гексагональная) и архитектуру на разных уровнях масштаба.
Предусмотрены ли практические задания?
Да, в курсе есть теоретические лекции и практические задания, включая лабораторные работы, основанные на реальных задачах.
Для кого предназначен курс?
Курс создан для разработчиков, Team Lead и Tech Lead, а также всех, кто хочет научиться мыслить как архитектор и проектировать сложные системы.
Какие инструменты и технологии рассматриваются в курсе?
В курсе рассматриваются системы хранения данных (S3, Ceph, PostgreSQL, MongoDB, ClickHouse, Neo4J, Kafka, Cassandra), языки программирования (Python, Java, Go, C++, JavaScript/TypeScript), фреймворки (React, Vue, Angular, jQuery) и Kubernetes.