architecture-patterns
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.
By secondsky · 431 installs
npx skills add secondsky/claude-skills --skill architecture-patterns
Source repository · Upstream listing
Architecture Patterns
Master proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain Driven Design to build maintainable, testable, and scalable systems.
When to Use This Skill
Designing new backend systems from scratch
Refactoring monolithic applications for better maintainability
Establishing architecture standards for your team
Migrating from tightly coupled to loosely coupled architectures
Implementing domain driven design principles
Creating testable and mockable codebases
Planning microservices decomposition
Core Concepts
1. Clean Architecture (Uncle Bob)
Layers (dependency flows inward):
Entities : Core business models
Use Cases : Application business rules
Interface Adapters : Controllers, presenters, gateways
Frameworks & Drivers : UI, database, external services
Key Principles:
Dependencies point inward
Inner layers know nothing about outer layers
Business logic independent of frameworks
Testable without UI, database, or external services
2. Hexagonal Architecture (Ports and Adapters)
Components:
Domain Core : Business logic
Ports : Interfaces defining interactions
Adapters : Implementations of ports (database, REST, message queue)
Benefits:
Swap implementations easily (mock for testing)
Technology agnostic core
Clear separation of concerns
3. Domain Driven Design (DDD)
Strategic Patterns:
Bounded Contexts : Separate models for different domains
Context Mapping : How contexts relate
Ubiquitous Language : Shared terminology
Tactical Patterns:
Entities : Objects with identity
Value Objects : Immutable objects defined by attributes
Aggregates : Consistency boundaries
Repositories : Data access abstraction
Domain Events : Things that happened
Clean Architecture Pattern
Directory Structure
Implementation Example
Hexagonal Architecture Pattern
Domain Driven Design Pattern
Best Practices
1. Dependency Rule : Dependencies always point inward
2. Interface Segregation : Small, focused interfaces
3. Business Logic in Domain : Keep frameworks out of core
4. Test Independence : Core testable without infrastructure
5. Bounded Contexts : Clear domain boundaries
6. Ubiquitous Language : Consistent terminology
7. Thin Controllers : Delegate to use cases
8. Rich Domain Models : Behavior with data
Common Pitfalls
Anemic Domain : Entities with only data, no behavior
Framework Coupling : Business logic depends on frameworks
Fat Controllers : Business logic in controllers
Repository Leakage : Exposing ORM objects
Missing Abstractions : Concrete dependencies in core
Over Engineering : Clean architecture for simple CRUD