Skip to content

Software architecture

Layering, boundaries, and dependency direction.

Layered (n-tier)

Presentation → application → domain → infrastructure. Each layer only knows the one below.

Hexagonal (ports & adapters)

The domain sits at the centre. Everything outside — HTTP, DB, queues — is an adapter pluggable via the domain's ports.

Clean architecture

Dependency arrows all point inwards. The framework is a detail; entities don't know it exists.

Plugin architecture

A host application loads plugins at runtime. Each plugin implements the host's interface and contributes behaviour without touching the host's code.

Edit this pageLast updated: