Initial commit: Complete Software Architecture course with 11 modules
- Added comprehensive course structure with 11 modules - Included theoretical content, practical examples, and tasks - Multi-language code examples (Java, Rust, Node.js, Python) - Detailed analysis of architectural approaches and trade-offs - Complete caching strategies documentation - Architecture examples from real-world systems (Twitter, Netflix, Uber) - Structured navigation and learning path - Ready for educational use
This commit is contained in:
commit
15e744da49
107 files changed
+61762
No files matched your search
@@ -0,0 +1,105 @@
|
||||
# Модуль 1: Основы архитектуры программного обеспечения
|
||||
|
||||
## Навигация
|
||||
- [🏠 Главная страница курса](../../README.md)
|
||||
- [📋 Практические задания](sections/08-practical-tasks.md)
|
||||
- [🏗️ Примеры архитектур](sections/09-architecture-examples.md)
|
||||
|
||||
## Содержание модуля
|
||||
|
||||
1. [Роль и обязанности Solution Architect](sections/01-role-and-responsibilities.md) - Кто такой Solution Architect, его роль и обязанности в команде
|
||||
2. [Введение в архитектуру ПО](sections/02-introduction-to-software-architecture.md) - Основы архитектуры программного обеспечения
|
||||
3. [Доменная модель и Domain-Driven Design](sections/03-domain-driven-design.md) - Принципы DDD и доменное моделирование
|
||||
4. [Принципы проектирования](sections/04-design-principles.md) - SOLID принципы и принципы проектирования
|
||||
5. [Архитектурные стили и паттерны](sections/05-architectural-styles-patterns.md) - Монолит, микросервисы, event-driven, CQRS, hexagonal
|
||||
6. [Качественные атрибуты](sections/06-quality-attributes.md) - Производительность, масштабируемость, надежность
|
||||
7. [Роль архитектора в команде](sections/07-architect-role-in-team.md) - Взаимодействие с различными ролями в команде
|
||||
8. [Практические задания](sections/08-practical-tasks.md) - Задания для закрепления материала
|
||||
9. [Примеры архитектур известных систем](sections/09-architecture-examples.md) - Анализ архитектур 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)
|
||||
- ✅ Качественные атрибуты системы
|
||||
- ✅ Роль архитектора в команде и взаимодействие с различными ролями
|
||||
- ✅ Анализ архитектур известных систем и их паттернов
|
||||
|
||||
## Практические задания
|
||||
|
||||
1. **Анализ архитектуры известных систем** — анализ архитектуры Twitter, Netflix, Uber и определение архитектурных стилей, компонентов и качественных атрибутов
|
||||
2. **Применение SOLID принципов** — рефакторинг кода с применением SOLID принципов
|
||||
3. **Trade-off анализ** — рассмотрение конкретного случая выбора между качественными атрибутами и обоснование решения
|
||||
|
||||
## Предварительные требования
|
||||
|
||||
- Опыт программирования (2+ года)
|
||||
- Понимание основ объектно-ориентированного программирования
|
||||
- Базовые знания о базах данных
|
||||
- Опыт работы в команде разработки
|
||||
|
||||
## Дополнительные ресурсы
|
||||
|
||||
- [Clean Architecture](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) - Robert C. Martin
|
||||
- [Domain-Driven Design](https://martinfowler.com/bliki/DomainDrivenDesign.html) - Martin Fowler
|
||||
- [Microservices](https://martinfowler.com/articles/microservices.html) - Martin Fowler
|
||||
- [SOLID Principles](https://en.wikipedia.org/wiki/SOLID) - Wikipedia
|
||||
- [Architecture Patterns](https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/) - O'Reilly
|
||||
|
||||
## Результаты обучения
|
||||
|
||||
После завершения модуля студенты смогут:
|
||||
|
||||
- Понимать роль и обязанности Solution Architect
|
||||
- Применять принципы Domain-Driven Design
|
||||
- Выбирать подходящие архитектурные стили для проектов
|
||||
- Анализировать качественные атрибуты системы
|
||||
- Применять SOLID принципы в проектировании
|
||||
- Анализировать архитектуры известных систем
|
||||
|
||||
## Оценка
|
||||
|
||||
Модуль оценивается по следующим критериям:
|
||||
|
||||
- **Теоретические знания** (40%) — понимание концепций и принципов
|
||||
- **Практические навыки** (40%) — применение знаний на практике
|
||||
- **Аналитические способности** (20%) — анализ и обоснование решений
|
||||
|
||||
## Следующие модули
|
||||
|
||||
После изучения основ архитектуры ПО, студенты переходят к:
|
||||
|
||||
- [Модуль 2: Микросервисная архитектура](../module2/README.md) - Детали проектирования и реализации микросервисных систем
|
||||
- [Модуль 3: Контейнеризация и оркестрация](../module3/README.md) - Docker, Kubernetes, Infrastructure as Code
|
||||
- [Модуль 4: Масштабируемость и отказоустойчивость](../module4/README.md) - Паттерны масштабирования и отказоустойчивости
|
||||
|
||||
## Быстрая навигация
|
||||
|
||||
- [🏠 Главная страница курса](../../README.md)
|
||||
- [📚 Все модули](../../README.md#модули-курса)
|
||||
- [🛣️ Рекомендуемый путь изучения](../../README.md#рекомендуемый-путь-изучения)
|
||||
Reference in new issue
Block a user