A comprehensive guide to software architectural patterns, principles, and best practices for building scalable, maintainable applications.
- Principles
- Architectural Patterns
- Data & Integration Patterns
- Quality & Operations
- Development Practices
- Resources
Foundational principles that guide software design decisions.
| Principle | Description |
|---|---|
| SOLID | Five principles for object-oriented design |
| DIP | Dependency Inversion Principle in depth |
| GRASP | General Responsibility Assignment patterns |
Core Values:
- Stability, Performance, Durability
- Scalability, Flexibility, Encapsulation
- Testability, Separation of Concerns
- Independence from framework, DB, UI, external services
Patterns for structuring applications at different scales.
| Pattern | When to Use |
|---|---|
| Layered Architecture | Simple apps, clear separation of concerns |
| Clean Architecture | Complex business logic, long-term projects |
| Hexagonal Architecture | Multiple integrations, testability focus |
| Modular Monolithic | Growing apps, pre-microservices stage |
| Pattern | When to Use |
|---|---|
| Microservice Architecture | Large teams, independent deployments |
| Event-driven Architecture | Async processing, loose coupling |
| Event Sourcing | Audit trails, temporal queries |
| Pattern | When to Use |
|---|---|
| DDD | Complex domains, collaborative design |
| Design Patterns | Common OOP solutions |
| Anti-patterns | What to avoid |
Patterns for handling data flow and system integration.
| Pattern | Description |
|---|---|
| CQS | Method-level command/query separation |
| CQRS | Architectural-level read/write separation |
| Topic | Description |
|---|---|
| API Design | REST, GraphQL, gRPC best practices |
| Proxy Server | Forward/Reverse proxy, Load balancing |
| Concurrency Patterns | Locking, distributed coordination |
Ensuring reliability, security, and maintainability.
| Topic | Description |
|---|---|
| Testing Strategy | Test types, coverage, best practices |
| Observability | Logging, Metrics, Tracing |
| Security Architecture | Authentication, Authorization, OWASP |
Standards and processes for development teams.
| Topic | Description |
|---|---|
| Code Standards | PSR-12, naming, PHPDoc |
| Code Review Guide | Review checklist, best practices |
If you use Claude Code, consider installing the Awesome Claude Code extension:
composer require dykyi-roman/awesome-claude-codeWhy use it with this guide?
This extension transforms theoretical knowledge from this repository into practical automation:
| Feature | Benefit |
|---|---|
| Architecture Audit | Automatically verify your code against DDD, Clean Architecture, Hexagonal, CQRS patterns |
| PSR Compliance | Check adherence to PSR-1, PSR-4, PSR-12 standards |
| Code Generation | Generate DDD components (Entity, ValueObject, Aggregate, Repository) from templates |
| CQRS Scaffolding | Create Commands, Queries, UseCases, ReadModels with proper structure |
| Stability Patterns | Generate Circuit Breaker, Retry, Rate Limiter implementations |
| Documentation Audit | Ensure code documentation meets quality standards |
What's included:
- 🎯 8 commands — slash commands for audits and generation
- 🤖 11 agents — specialized sub-agents for different architectural tasks
- 📚 73 skills — knowledge bases, generators, and templates
The extension helps enforce the architectural principles described in this guide directly in your development workflow with Claude Code.
This repository is for educational purposes.