Домен
Архитектура и проектирование
Профиль навыка
Слои, правило зависимостей, use cases, entities, gateways, разделение ответственности
Ролей
15
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
30
ещё 42 — необязательные
Архитектура и проектирование
Архитектурные паттерны
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Понимает базовые архитектурные концепции Clean Architecture. Следует архитектурным решениям команды. Понимает основные паттерны. | |
| Android Developer | Понимает основы Clean Architecture в Android: зависимости направлены внутрь (UI→Domain←Data), Domain-слой не зависит от Android SDK. Знает роли компонентов — Entity (data class), UseCase (бизнес-логика), Repository interface (в domain) и implementation (в data). Следует существующей структуре проекта, создаёт классы в правильных модулях и пакетах. | |
| Backend Developer (C#/.NET) | Следует слоистой архитектуре: Controller не содержит бизнес-логику, сервисы через interfaces. Понимает DI через IServiceCollection. Разделяет Entity и DTO. | |
| Backend Developer (Go) | Понимает clean architecture в Go: разделение packages по layers, interface-driven design. | |
| Backend Developer (Java/Kotlin) | Следует слоистой архитектуре Spring-проекта: контроллер не содержит бизнес-логику, сервисы работают через интерфейсы. Понимает Dependency Injection через Spring IoC. Не смешивает JPA-сущности с REST DTO. | |
| Backend Developer (Node.js) | Понимает clean architecture для Node.js: разделение layers (controllers, services, repositories). Организует код по модулям. | |
| Backend Developer (PHP) | Следует слоистой архитектуре проекта: контроллер не содержит бизнес-логику, сервисы работают через интерфейсы репозиториев. Понимает направление зависимостей. Не смешивает инфраструктурный код с доменным. | |
| Backend Developer (Python) | Понимает разделение на layers (presentation, business, data). Знает зачем нужна абстракция. Следует структуре проекта. Разделяет business logic и infrastructure. | |
| Backend Developer (Rust) | Понимает clean architecture в Rust: разделение domain/infrastructure, dependency inversion через traits. Организует модули по слоям. | |
| Flutter Developer | Понимает базовые архитектурные концепции Clean Architecture. Следует архитектурным решениям команды. Понимает основные паттерны. | |
| iOS Developer | Понимает принципы Clean Architecture в контексте iOS: разделение на слои Presentation, Domain и Data. Создаёт простые Use Cases для бизнес-логики, отделяет UI-логику от работы с данными. Следует правилу зависимостей — внутренние слои не знают о внешних, использует протоколы для инверсии зависимостей между слоями iOS-приложения | |
| React Native Developer | Следует принципам чистой архитектуры в React Native проекте — разделение UI и логики через custom hooks. Не размещает бизнес-логику в компонентах. Понимает зависимости между слоями — экраны зависят от хуков, хуки от сервисов, сервисы от API-клиента. Следует naming conventions. | |
| Technical Writer | Понимает базовые принципы Clean Architecture: разделение на слои (entities, use cases, interface adapters, frameworks). Знает dependency rule и инверсию зависимостей. Умеет документировать слоистую структуру приложения. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Применяет принципы Clean Architecture при проектировании подсистем 1C:Enterprise. Отделяет бизнес-логику от платформенных слоёв, понимает компромиссы декомпозиции подсистем. Участвует в обсуждениях архитектуры модулей. | |
| Android Developer | Реализует Clean Architecture в Android-приложении: domain-модуль с UseCase и Repository-интерфейсами без Android-зависимостей, data-модуль с Room/Retrofit реализациями, presentation-модуль с ViewModel и Compose. Правильно маппит модели между слоями (Entity↔Domain↔DTO), реализует DI через Hilt для связывания слоёв, следует принципу инверсии зависимостей. | |
| Backend Developer (C#/.NET) | Применяет Clean Architecture: Use Cases через MediatR handlers, Domain и Infrastructure через Ports & Adapters. Инвертирует зависимости. Domain-код без привязки к ASP.NET/EF. | |
| Backend Developer (Go) | Применяет clean architecture: hexagonal architecture, dependency injection, port/adapter pattern в Go. | |
| Backend Developer (Java/Kotlin) | Применяет Clean Architecture в Java: выделяет Use Cases, разделяет Domain и Infrastructure через Ports & Adapters. Инвертирует зависимости через Spring-интерфейсы. Пишет domain-код без привязки к Spring/JPA. | |
| Backend Developer (Node.js) | Применяет clean architecture: hexagonal architecture с NestJS modules, dependency injection, port/adapter pattern. Isolates business logic. | |
| Backend Developer (PHP) | Применяет Clean Architecture в PHP: выделяет Use Cases, разделяет Domain и Infrastructure слои. Инвертирует зависимости через интерфейсы. Организует код по features, а не по типам файлов. Пишет domain-код без привязки к фреймворку. | |
| Backend Developer (Python) | Применяет Clean Architecture в Python-проектах. Использует dependency injection. Создаёт use cases и entities. Разделяет domain и infrastructure. Тестирует бизнес-логику отдельно. | |
| Backend Developer (Rust) | Применяет clean architecture: hexagonal architecture с Rust traits, port/adapter pattern, domain-driven module organization. Isolates side effects. | |
| Flutter Developer | Применяет Clean Architecture во Flutter/Dart-проектах с разделением на слои представления, домена и данных. Использует BLoC/Riverpod для изоляции бизнес-логики от виджетов. Понимает компромиссы разделения слоёв. | |
| iOS Developer | Реализует Clean Architecture в iOS-проекте: Use Cases для бизнес-операций, Repository паттерн для абстракции источников данных. Настраивает dependency injection через протоколы, организует проект в SPM-модули по слоям. Реализует маппинг между Entity, DTO и ViewModel моделями, обеспечивая независимость Domain-слоя от UIKit/SwiftUI и сетевых фреймворков | |
| React Native Developer | Применяет Clean Architecture в React Native — Domain layer (entities, use cases), Data layer (repositories, API), Presentation layer (screens, components). Реализует Dependency Inversion через абстракции сервисов. Изолирует platform-specific код через адаптеры для тестируемости. | |
| Technical Lead | Применяет Clean Architecture при проектировании компонентов, следит за соблюдением правил зависимостей в команде. Проводит ревью кода на соответствие архитектуре, участвует в обсуждениях границ слоёв и инверсии управления. | |
| Technical Writer | Документирует Clean Architecture проектов: описывает назначение каждого слоя, правила зависимостей, примеры кода. Создаёт architecture decision records объясняющие выбор Clean Architecture. Помогает разработчикам понять архитектурные boundaries. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Проектирует архитектуру систем 1C:Enterprise по принципам Clean Architecture с декомпозицией подсистем и изоляцией бизнес-логики от платформенных слоёв. Принимает архитектурные решения (ADR), оценивает нефункциональные требования. |
| Android Developer | Обязателен | Проектирует Clean Architecture для сложных Android-приложений: мульти-модульная реализация с API/impl модулями для каждого feature, стратегия общих domain-модулей, архитектура cross-cutting concerns (logging, analytics, error handling). Оптимизирует баланс между чистотой архитектуры и прагматизмом — когда допустимы shortcuts, как управлять mapper-boilerplate, стратегия для legacy-кода. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует по Hexagonal Architecture: порты для бизнес-логики, адаптеры для EF/Kafka/REST. Рефакторит legacy. Anti-corruption layers между bounded contexts. |
| Backend Developer (Go) | Проектирует clean architecture: domain-driven Go packages, wire для DI, modular structure. | |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует Java-приложения по Hexagonal Architecture: порты для бизнес-логики, адаптеры для JPA/Kafka/REST. Рефакторит legacy Spring-монолит к чистой архитектуре. Определяет anti-corruption layers между bounded contexts. |
| Backend Developer (Node.js) | Проектирует clean architecture: NestJS modular architecture, domain-driven design, bounded contexts. Определяет architectural boundaries. | |
| Backend Developer (PHP) | Обязателен | Проектирует PHP-приложения по Clean/Hexagonal Architecture: Ports & Adapters для интеграций, Domain Events для связи между bounded contexts. Рефакторит legacy к чистой архитектуре без остановки разработки. Определяет anti-corruption layers. |
| Backend Developer (Python) | Проектирует Clean Architecture для микросервисов. Применяет Hexagonal Architecture. Создаёт ports и adapters. Проектирует domain events. Рефакторит монолит в clean architecture. | |
| Backend Developer (Rust) | Проектирует clean architecture для Rust: trait-based abstractions, compile-time dependency injection, modular crate structure. Определяет architectural boundaries. | |
| Flutter Developer | Обязателен | Проектирует архитектуру Flutter-приложений по Clean Architecture с чёткими границами между слоями представления, домена и данных. Выбирает паттерны управления состоянием (BLoC/Riverpod), принимает ADR-решения по изоляции бизнес-логики. |
| iOS Developer | Обязателен | Проектирует Clean Architecture для сложных iOS-приложений: модульные Use Cases с композицией, Repository с кэшированием и fallback-стратегиями. Определяет границы модулей через SPM с строгим контролем зависимостей, настраивает компиляцию модулей отдельно для ускорения. Реализует CQRS для разделения read/write операций, проектирует Domain Events для межмодульной коммуникации |
| React Native Developer | Обязателен | Проектирует Clean Architecture для масштабного React Native приложения. Определяет границы модулей, контракты между слоями. Внедряет Use Case паттерн для бизнес-логики. Обеспечивает независимость domain-слоя от React Native фреймворка. Проектирует DI-контейнер для управления зависимостями. |
| Solutions Architect | Обязателен | Проектирует архитектуру корпоративных систем по Clean Architecture с технологически-нейтральным доменным моделированием. Определяет ограниченные контексты и паттерны интеграции. Принимает ADR-решения, оценивает нефункциональные требования. |
| Technical Lead | Обязателен | Проектирует архитектуру систем по Clean Architecture, обеспечивает соблюдение правил зависимостей через архитектурные тесты и автопроверки. Внедряет ADR-процессы в команде, контролирует разделение слоёв, оценивает нефункциональные требования. |
| Technical Writer | Создаёт комплексную документацию Clean Architecture для сложных систем: mapping между business capabilities и architecture layers, testing strategies per layer, dependency injection configuration. Проводит review кода на соответствие архитектурным описаниям. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет архитектурную стратегию продуктов на 1C:Enterprise на основе Clean Architecture. Устанавливает стандарты декомпозиции подсистем, изоляции бизнес-логики и разделения платформенных слоёв. Проводит архитектурные ревью. |
| Android Developer | Обязателен | Определяет стандарты Clean Architecture для Android-команды: шаблоны модулей (feature-api/feature-impl/feature-test), правила зависимостей между модулями, процессы архитектурного review. Настраивает Gradle convention plugins для enforce архитектурных правил, внедряет ArchUnit для автоматической проверки зависимостей, обучает команду принципам и trade-offs Clean Architecture. |
| Backend Developer (C#/.NET) | Обязателен | Определяет архитектурные стандарты: структура solution, правила зависимостей, ArchUnitNET-тесты. Балансирует чистоту и скорость. |
| Backend Developer (Go) | Определяет architectural стандарты: package organization, dependency rules, architecture reviews. | |
| Backend Developer (Java/Kotlin) | Обязателен | Определяет архитектурные стандарты: структура модулей, правила зависимостей, ArchUnit-тесты для контроля архитектуры. Балансирует чистоту архитектуры и скорость доставки. Проводит архитектурные review. |
| Backend Developer (Node.js) | Определяет architectural стандарты: clean architecture guidelines, NestJS conventions, dependency rules. Проводит architecture reviews. | |
| Backend Developer (PHP) | Обязателен | Определяет архитектурные стандарты команды: структура модулей, правила зависимостей между слоями, PHPStan-правила для контроля архитектуры. Проводит архитектурные review. Балансирует чистоту архитектуры и скорость доставки. |
| Backend Developer (Python) | Определяет architecture standards для организации. Внедряет architectural fitness functions. Проводит architecture reviews. Стандартизирует подходы. | |
| Backend Developer (Rust) | Определяет architectural стандарты: clean architecture guidelines, module organization, dependency rules. Проводит architecture reviews. | |
| Flutter Developer | Обязателен | Определяет архитектурную стратегию Flutter-продуктов на основе Clean Architecture. Устанавливает стандарты разделения слоёв представления/домена/данных и паттерны BLoC/Riverpod. Проводит архитектурные ревью изоляции бизнес-логики. |
| iOS Developer | Обязателен | Определяет стандарты Clean Architecture для iOS-команды: шаблоны модулей, правила зависимостей и architecture conformance тесты. Адаптирует принципы для SwiftUI: Presentation через ViewModels с @Observable, Domain с async/await Use Cases. Внедряет автоматическую генерацию boilerplate через Sourcery, проводит архитектурные ревью и обучает команду принципам SOLID в Swift |
| React Native Developer | Обязателен | Определяет архитектурные стандарты Clean Architecture для мобильных проектов. Формирует guidelines — структура модулей, правила зависимостей, архитектурные тесты (ArchUnit). Ревьюит соблюдение архитектурных boundaries. Менторит команду по применению Clean Architecture в React Native контексте. |
| Solutions Architect | Обязателен | Определяет архитектурную стратегию продуктов по Clean Architecture для корпоративных систем. Устанавливает стандарты ограниченных контекстов, технологически-нейтрального моделирования и интеграционных паттернов. Проводит архитектурные ревью. |
| Technical Lead | Обязателен | Определяет архитектурную стратегию продукта с Clean Architecture. Формирует architecture guidelines. Проводит architecture review. |
| Technical Writer | Стандартизирует подходы к документированию Clean Architecture в организации. Создаёт reference implementations с подробной документацией. Обеспечивает согласованность архитектурной документации при масштабировании команд. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет архитектурную стратегию организации. Проектирует reference architectures. Формирует architecture governance. |
| Android Developer | Обязателен | Формирует архитектурную культуру Android-организации: эволюция Clean Architecture стандартов, адаптация для разных типов приложений (CRUD vs event-driven vs real-time), стратегия миграции legacy-приложений. Определяет баланс между architectural purity и delivery speed, проектирует платформенные решения для cross-cutting concerns, менторит лидов по адаптации архитектуры к бизнес-контексту. |
| Backend Developer (C#/.NET) | Обязателен | Формирует архитектурную культуру: reference architecture, domain/application/infrastructure layers. Shared kernel. Определяет когда clean architecture оправдана. |
| Backend Developer (Go) | Формирует architectural стратегию: clean architecture для Go platform, module design governance. | |
| Backend Developer (Java/Kotlin) | Обязателен | Формирует архитектурную культуру: reference architecture для Java-сервисов, domain/application/infrastructure layers. Проектирует shared kernel между сервисами. Определяет когда clean architecture оправдана. |
| Backend Developer (Node.js) | Формирует architectural стратегию: clean architecture principles для Node.js platform, modular design governance, architecture evolution. | |
| Backend Developer (PHP) | Обязателен | Формирует архитектурную культуру организации. Определяет reference architecture для PHP-сервисов: Domain Layer, Application Layer, Infrastructure Layer. Проектирует shared kernel между сервисами. Оценивает когда clean architecture оправдана, а когда избыточна. |
| Backend Developer (Python) | Формирует architecture strategy. Оценивает подходы для разных контекстов. Определяет reference architectures. Менторит lead architects. | |
| Backend Developer (Rust) | Формирует architectural стратегию: clean architecture principles для Rust-платформы, crate ecosystem design, architectural governance. | |
| Flutter Developer | Обязателен | Определяет архитектурную стратегию организации для Flutter/Dart-платформ на основе Clean Architecture. Проектирует референсные архитектуры с паттернами слоёв. Устанавливает архитектурное управление и стандарты согласованности между командами. |
| iOS Developer | Обязателен | Разрабатывает архитектурную стратегию на основе Clean Architecture для всей iOS-платформы: стандарты модуляризации, переиспользуемые Domain-модули между приложениями. Определяет эволюционный путь архитектуры: постепенная миграция legacy-кода, стратегия strangler fig для крупных рефакторингов. Внедряет архитектурные метрики: coupling, cohesion и instability для мониторинга здоровья кодовой базы |
| React Native Developer | Обязателен | Формирует enterprise-стандарты Clean Architecture для мобильной разработки. Определяет reference-архитектуру React Native приложений с чистыми слоями, переиспользуемым domain и data layers. Проектирует архитектурные fitness functions для автоматического контроля архитектурных правил. |
| Solutions Architect | Обязателен | Определяет архитектурную стратегию организации на основе Clean Architecture с ограниченными контекстами и референсными архитектурами. Устанавливает архитектурное управление для технологически-нейтрального моделирования и интеграционных паттернов. |
| Technical Lead | Обязателен | Определяет архитектурную стратегию организации, обеспечивая соблюдение принципов Clean Architecture во всех командах. Проектирует референсные архитектуры с правилами зависимостей и фреймворками тестирования. Устанавливает управление через ADR-процессы. |
| Technical Writer | Формирует корпоративные стандарты документирования архитектурных паттернов, включая Clean Architecture. Определяет как архитектурная документация эволюционирует вместе с системой, обеспечивая прослеживаемость от business requirements до implementation details. |