Экскурсии в офис Mail.ru. Успейте записаться!

Архитектура программного обеспечения

Весна 2017

Цель курса — Научить студентов бороться со сложностью программного обеспечения.

Преподаватели

Дмитрий Смаль Дмитрий Смаль

Ведущий разработчик Mail.Ru Games.
Ранее занимался разработкой контентных проектов, а сейчас...


Подробнее

Литература

1. Design Patterns: Elements of Reusable Object-Oriented Software
2. Domain-Driven Design: Tackling Complexity in the Heart of Software
3. Patterns of Enterprise Application Architecture
4. The Twelve-Factor App
Показать все

Программа

занятие Часы в ауд. + сам. работа

Смешанное занятие №1: О курсе. Разновидности архитектур.  

О курсе. Разновидности архитектур. Архитектура ПО. Основные задачи. UML и моделирование. Гибкое моделирование. Парадигмы программирования. Процедурное, функциональное, объектно-ориентированное программирование.
4 часа + 2 часа СР

Смешанное занятие №2: ООП и проектирование кода. Принципы SOLID.  

ООП и проектирование кода. Принципы SOLID. Связанность объектов. Закон Деметры. Dependency Injection. Inverse Of Control. Понятие паттерна. Классические паттерны ООП. Test Driven Development.
4 часа + 2 часа СР

Смешанное занятие №3: Архитектура пользовательского интерфейса.  

Архитектура пользовательского интерфейса. Паттерны MVC, MVP, MVVM, Flux. Publisher-Subscriber. Примеры реализаций.
4 часа + 2 часа СР

Смешанное занятие №4: Многоуровневая архитектура.  

Многоуровневая архитектура. Уровни представления, бизнес логики, доступа к данным. Паттерны корпоративного ПО. Шаблоны MVC, Service Layer, Domain Model, Active Record, DAO, Gateway. CQRS.
4 часа + 2 часа СР

Смешанное занятие №5: Гексагональная архитектура.  

Гексагональная архитектура. DDD - предметно-ориентированное проектирование. Единый язык. Модель предметной области. Ограниченные контексты. Карта контекстов. Behaviour Driven Development.
4 часа + 2 часа СР

Смешанное занятие №6: Закон Конвея. Архитектура распределенных приложений.  

Закон Конвея. Архитектура распределенных приложений. RPC vs REST. Микросервисная архитектура. 12-факторные приложения. Gateway API. Service Discovery. Inter Process Communication.
4 часа + 2 часа СР

Рубежный контроль №1: рубежный контроль  

Анализ и коррекция архитектуры проектов.
4 часа + 4 часа СР