Skip to content

dykyi-roman/architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Architecture Guide

A comprehensive guide to software architectural patterns, principles, and best practices for building scalable, maintainable applications.

Table of Contents


Principles

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

Architectural Patterns

Patterns for structuring applications at different scales.

Application Architecture

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

Distributed Systems

Pattern When to Use
Microservice Architecture Large teams, independent deployments
Event-driven Architecture Async processing, loose coupling
Event Sourcing Audit trails, temporal queries

Domain Modeling

Pattern When to Use
DDD Complex domains, collaborative design
Design Patterns Common OOP solutions
Anti-patterns What to avoid

Data & Integration Patterns

Patterns for handling data flow and system integration.

Command/Query Patterns

Pattern Description
CQS Method-level command/query separation
CQRS Architectural-level read/write separation

API & Communication

Topic Description
API Design REST, GraphQL, gRPC best practices
Proxy Server Forward/Reverse proxy, Load balancing
Concurrency Patterns Locking, distributed coordination

Quality & Operations

Ensuring reliability, security, and maintainability.

Topic Description
Testing Strategy Test types, coverage, best practices
Observability Logging, Metrics, Tracing
Security Architecture Authentication, Authorization, OWASP

Development Practices

Standards and processes for development teams.

Topic Description
Code Standards PSR-12, naming, PHPDoc
Code Review Guide Review checklist, best practices

Tools

Claude Code Extension for Architecture

If you use Claude Code, consider installing the Awesome Claude Code extension:

composer require dykyi-roman/awesome-claude-code

Why 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.


Resources

Courses

Curated Lists

Reference Architectures

Leadership


License

This repository is for educational purposes.

About

Software Architectural Patterns

Resources

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •