Проектирование
52 элемента
Паттерны проектирования
35 элементов
Основы проектирования и архитектуры программного обеспечения
Фундаментальные принципы проектирования программного обеспечения с разбором архитектурных моделей, инженерных расчётов и методов формирования технических характеристик будущих систем.
Архитектурные стили и их применение
Классификация архитектурных стилей программного обеспечения с анализом методов распределения компонентов, организации межкомпонентного взаимодействия и влияния на масштабируемость и отказоустойчивость.
Стили внутренней организации кода
Методологии внутренней организации программного кода с применением принципа инверсии зависимостей, обеспечения слабой связанности модулей и построения гибких абстракций для эволюции системы.
Принципы компонентно-ориентированной архитектуры
Фундаментальные правила построения компонентно-ориентированных систем с обеспечением инверсии зависимостей, изоляции функциональных блоков и стандартизации интерфейсов взаимодействия.
Стратегии декомпозиции монолитных систем
Методологии постепенной декомпозиции монолитных архитектур с применением паттерна Strangler Fig, анализа доменных контекстов, проектирования саг и определения метрик успешности миграции.
Влияние инфраструктуры на архитектурные решения
Анализ влияния инфраструктурных решений на архитектурные паттерны программного обеспечения с учётом ограничений вычислительных ресурсов, сетевых топологий и возможностей автоматизации развёртывания.
Классификация типов классов в объектно-ориентированном проектировании
Систематизация ролей классов в объектно-ориентированном проектировании с разбором семантики наименований, распределения ответственности и формирования чётких контрактов взаимодействия объектов.
Построение систем на основе классов и объектов
Методология построения программных систем на основе объектно-ориентированной парадигмы с моделированием предметной области, определением границ ответственности и установлением связей между сущностями.
Доменная модель
Практики формирования доменной модели программного обеспечения с выделением сущностей предметной области, фиксацией бизнес-правил и обеспечением соответствия архитектуры бизнес-процессам.
Типы классов в DDD
Тактические паттерны Domain-Driven Design с классификацией сущностей, объектов-значений, агрегатов, доменных сервисов, репозиториев и фабрик, а также разбором отличий от транспортных DTO и контроллеров.
Паттерны проектирования
Каталог проверенных архитектурных решений для типичных задач проектирования программного обеспечения с разбором методов управления жизненным циклом объектов, обеспечения гибкости и повторного использования компонентов.
Системный подход и системное мышление
Применение системного мышления в проектировании программного обеспечения с анализом взаимосвязей компонентов, проектированием согласованных API и баз данных, а также предупреждением архитектурных рисков.
Имитационное моделирование
Имитационное моделирование в IT и системном анализе: дискретно-событийные и агентные модели, очереди, нагрузка, инструменты и отличие от прототипа и численной симуляции.
Роль и практика архитектора программного обеспечения
Профессиональная роль архитектора программного обеспечения с разграничением обязанностей относительно технических лидеров, описанием создаваемых артефактов и картой развития необходимых компетенций.
2 концепций архитектуры распределённых систем
Сводный обзор двенадцати фундаментальных концепций распределённых систем с детальным разбором механизмов балансировки, кэширования, CDN, очередей сообщений, API-шлюзов, автомасштабирования и обеспечения консистентности данных.
Алгоритмы выбора лидера в распределённых системах
Сравнительный анализ алгоритмов достижения консенсуса и выбора лидера в распределённых кластерах с разбором протоколов Bully, Ring, Paxos, Raft и ZAB, а также примерами реализации в etcd, ZooKeeper и Kafka.
System Design — карта тем и подготовка
Систематизированная карта подготовки к проектированию распределённых систем с изучением сетевых протоколов, баз данных, очередей сообщений, инженерных рычагов оптимизации и структурного оформления технических решений.
Email-рассылка как распределённая система
Архитектурный разбор почтовых сервисов как распределённых систем с проектированием очередей обработки, конечных автоматов доставки, настройки SPF/DKIM/DMARC и обеспечения идемпотентности транзакций.
Асинхронная обработка данных в высоконагруженных системах
Очереди, воркеры, outbox, паттерны с клиентом, семантика доставки, backpressure, идемпотентность, DLQ и метрики. Архитектурный разбор для проектирования и code review.
Масштабируемость и параллелизм в системном проектировании
Анализ механизмов параллельного выполнения вычислительных процессов как фундаментального инструмента обеспечения горизонтального масштабирования и повышения производительности распределённых систем.
Практика архитектурного проектирования
Практика архитектурного проектирования: монолит и N-tier, границы модулей, Conway, контракты API, эволюция и структура репозитория.
Проектирование и архитектура — итоги
Итоговое обобщение раздела системного проектирования и архитектуры программного обеспечения с синтезом ключевых принципов, установлением связей между методологиями и формированием рекомендаций для специалистов.
Проектирование и архитектура — чек-лист
Диагностический перечень вопросов для оценки глубины понимания архитектурных паттернов, принципов декомпозиции систем и методов построения масштабируемых программных решений.
Проектирование и архитектура — о разделе
Как проектировать ПО осознанно: от домена и стилей развёртывания до микросервисов, ADR и документации — маршруты для разработчика, архитектора и аналитика.