# Software Architecture Patterns

> Comprehensive reference for software architecture: fundamentals, architectural styles (layered, pipeline, microkernel, microservices, event-driven, SOA), architectural patterns (hexagonal/ports & adapters, CQRS, event sourcing, MVC), enterprise application patterns, and integration patterns. ALWAYS activate this skill when: reviewing system or component architecture, designing new services or systems, doing system design sessions, making architectural decisions, evaluating trade-offs between architectural styles, creating new bounded contexts or microservices, discussing modularisation, scalability, or extensibility at the system level, documenting architecture (ADR, Architecture Haiku), or any time architectural quality attributes (availability, scalability, maintainability, fault tolerance) are being discussed.

- Skill: `wesleyegberto/software-architecture-patterns` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add wesleyegberto/software-architecture-patterns`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wesleyegberto/software-architecture-patterns/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: wesleyegberto (https://skillmd.com/u/wesleyegberto)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wesleyegberto/software-architecture-patterns

---


# Software Architecture

Reference companion for architecture reviews, system design sessions, and architectural
decision-making. Each topic lives in its own reference file.

## Reference Files

| File | Contents |
|------|----------|
| `references/fundamentals.md` | Architecture definition, architect role, architectural requirements, decisions, constraints, documentation (ADR, Architecture Haiku) |
| `references/architectural-styles-monolithic.md` | Layered, Pipeline, Microkernel — topology, trade-offs, when to use |
| `references/architectural-styles-distributed.md` | Microservices, Event-Driven Architecture (EDA), SOA — topology, principles, trade-offs |
| `references/architectural-patterns.md` | Hexagonal (Ports & Adapters), CQRS, Event Sourcing, MVC |
| `references/enterprise-patterns.md` | Domain logic patterns (Transaction Script, Domain Model), data source patterns (Active Record, Data Mapper), integration patterns (File Transfer, Shared DB, RPC, Messaging) |
| `references/architecture-review-checklist.md` | Structured checklist for architecture reviews and system design sessions |

## When to Read Each File

**Architecture review / system design:**
Start with `architecture-review-checklist.md`, then read the relevant style or pattern file for deeper context.

**Choosing an architectural style:**
Read `architectural-styles-monolithic.md` or `architectural-styles-distributed.md` (or both) and compare the trade-off summary table.

**Designing a new service or component:**
Read `architectural-patterns.md` (hexagonal for internal structure, CQRS/event sourcing for complex domains).

**Integration between systems:**
Read `enterprise-patterns.md` (integration section) for the four integration approaches.

**Documenting architectural decisions:**
Read `fundamentals.md` for ADR and Architecture Haiku templates.

## Architectural Style Quick Comparison

```
Style             | Type        | Scalability | Complexity | Best For
──────────────────┼─────────────┼─────────────┼────────────┼───────────────────────────
Layered           | Monolithic  | Low         | Low        | Small/medium business apps
Pipeline          | Monolithic  | Low         | Low        | Data processing, ETL
Microkernel       | Monolithic  | Low         | Medium     | Product apps, plugin systems
Event-Driven      | Distributed | High        | High       | Async, decoupled workflows
SOA               | Distributed | Medium      | High       | Enterprise integration
Microservices     | Distributed | High        | Very High  | Independent team/domain scale
```

## Quality Attribute → Style/Pattern Lookup

| Need | Consider |
|------|---------|
| Independent deployability | Microservices |
| Extensibility / plugin model | Microkernel |
| High throughput data processing | Pipeline |
| Async decoupling | Event-Driven Architecture |
| Complex read/write scaling | CQRS |
| Full audit trail | Event Sourcing |
| Testable business logic isolated from infra | Hexagonal |
| Simple team-owned service | Layered |

