- Добавлены подробные принципы работы для всех архитектурных стилей - Расширен состав архитектуры с детальным описанием компонентов - Добавлены технологические решения и конкретные инструменты - Описаны паттерны интеграции и взаимодействия - Улучшена структура подачи информации Архитектурные стили: - Монолитная архитектура: принципы единого процесса, совместного развертывания - Микросервисная архитектура: декомпозиция, независимость, отказоустойчивость - Event-Driven Architecture: события как первоклассные объекты, асинхронность - CQRS: разделение команд и запросов, оптимизация моделей - Hexagonal Architecture: изоляция бизнес-логики, порты и адаптеры - Layered Architecture: разделение ответственности, направление зависимостей - Serverless Architecture: FaaS, event-driven execution, stateless functions Каждый стиль теперь содержит: - Подробные принципы работы (4 основных принципа) - Детальный состав архитектуры с компонентами - Технологические решения и инструменты - Паттерны интеграции и взаимодействия - Практические аспекты реализации
Модуль 1: Основы архитектуры программного обеспечения
Навигация
Содержание модуля
- Роль и обязанности Solution Architect - Кто такой Solution Architect, его роль и обязанности в команде
- Введение в архитектуру ПО - Основы архитектуры программного обеспечения
- Доменная модель и Domain-Driven Design - Принципы DDD и доменное моделирование
- Принципы проектирования - SOLID принципы и принципы проектирования
- Архитектурные стили и паттерны - Монолит, микросервисы, event-driven, CQRS, hexagonal
- Качественные атрибуты - Производительность, масштабируемость, надежность
- Роль архитектора в команде - Взаимодействие с различными ролями в команде
- Практические задания - Задания для закрепления материала
- Примеры архитектур известных систем - Анализ архитектур Twitter, Netflix, Uber
Время изучения
- Общая длительность: 2 недели
- Время на раздел: 2-3 часа
- Практические задания: 4-6 часов
- Итого: 20-30 часов
Описание модуля
Этот модуль закладывает фундаментальные основы для понимания роли Solution Architect и принципов архитектуры программного обеспечения. Студенты изучат:
- Кто такой Solution Architect и чем он занимается
- Основы архитектуры ПО и архитектурные решения
- Domain-Driven Design и доменное моделирование
- SOLID принципы и принципы проектирования
- Различные архитектурные стили и паттерны (монолит, микросервисы, event-driven, CQRS, hexagonal)
- Качественные атрибуты системы
- Роль архитектора в команде разработки
- Анализ архитектур известных систем (Twitter, Netflix, Uber)
Ключевые компетенции
После изучения модуля студенты будут знать:
- ✅ Роль и обязанности Solution Architect
- ✅ Основы архитектуры программного обеспечения
- ✅ Принципы Domain-Driven Design и доменное моделирование
- ✅ SOLID принципы и принципы проектирования
- ✅ Различные архитектурные стили (монолит, микросервисы, event-driven, CQRS, hexagonal)
- ✅ Качественные атрибуты системы
- ✅ Роль архитектора в команде и взаимодействие с различными ролями
- ✅ Анализ архитектур известных систем и их паттернов
Практические задания
- Анализ архитектуры известных систем — анализ архитектуры Twitter, Netflix, Uber и определение архитектурных стилей, компонентов и качественных атрибутов
- Применение SOLID принципов — рефакторинг кода с применением SOLID принципов
- Trade-off анализ — рассмотрение конкретного случая выбора между качественными атрибутами и обоснование решения
Предварительные требования
- Опыт программирования (2+ года)
- Понимание основ объектно-ориентированного программирования
- Базовые знания о базах данных
- Опыт работы в команде разработки
Дополнительные ресурсы
- Clean Architecture - Robert C. Martin
- Domain-Driven Design - Martin Fowler
- Microservices - Martin Fowler
- SOLID Principles - Wikipedia
- Architecture Patterns - O'Reilly
Результаты обучения
После завершения модуля студенты смогут:
- Понимать роль и обязанности Solution Architect
- Применять принципы Domain-Driven Design
- Выбирать подходящие архитектурные стили для проектов
- Анализировать качественные атрибуты системы
- Применять SOLID принципы в проектировании
- Анализировать архитектуры известных систем
Оценка
Модуль оценивается по следующим критериям:
- Теоретические знания (40%) — понимание концепций и принципов
- Практические навыки (40%) — применение знаний на практике
- Аналитические способности (20%) — анализ и обоснование решений
Следующие модули
После изучения основ архитектуры ПО, студенты переходят к:
- Модуль 2: Микросервисная архитектура - Детали проектирования и реализации микросервисных систем
- Модуль 3: Контейнеризация и оркестрация - Docker, Kubernetes, Infrastructure as Code
- Модуль 4: Масштабируемость и отказоустойчивость - Паттерны масштабирования и отказоустойчивости