Přeskočit na obsah
_CORE
Architektura Pokročilý

Clean Architecture — vrstvy a závislosti

Clean ArchitectureSOLIDUncle Bob
3 min čtení

Robert C. Martin's Clean Architecture. Pravidlo závislostí, entity, use cases a implementace.

Čtyři vrstvy

  • Entities — enterprise business rules
  • Use Cases — application business rules
  • Interface Adapters — controllers, gateways
  • Frameworks — DB, UI, web framework

Závislosti směřují pouze dovnitř. Vnitřní vrstvy neví o vnějších.

Implementace

# entities/user.py — žádné vnější importy!
class User:
    def __init__(self, name: str, email: str):
        if '@' not in email: raise ValueError("Invalid email")
        self.name = name
        self.email = email

# use_cases/create_user.py
class CreateUserUseCase:
    def __init__(self, user_repo: UserRepository):
        self.user_repo = user_repo
    def execute(self, name, email) -> User:
        user = User(name, email)
        self.user_repo.save(user)
        return user

Dependency Inversion

Use case definuje interface, vnější vrstva implementuje. To je klíč k nezávislosti.

Shrnutí

Clean Architecture zajišťuje nezávislost byznys logiky na frameworkách. Clean, Hexagonal a Onion sdílejí stejný princip — izolace domény.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace