Профиль навыка

Clean Architecture

Слои, правило зависимостей, 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.

Сообщество

👁 Следить ✏️ Предложить изменение Войдите, чтобы предлагать изменения
📋 Предложения
Пока нет предложений для Clean Architecture
Загрузка комментариев...