Screaming Architecture

E679173

Screaming Architecture is a software design approach that emphasizes organizing code so that the system’s core business domain and use cases are immediately evident from its structure.

All labels observed (2)

How this entity was disambiguated

Statements (49)

Predicate Object
instanceOf software architecture style ⓘ
aimsToAvoid architecture that hides business intent ⓘ
architecture that only reveals technical frameworks ⓘ
alsoKnownAs Architecture That Screams the Domain ⓘ
appliesTo backend applications ⓘ
enterprise applications ⓘ
microservices ⓘ
benefit better communication with non-technical stakeholders ⓘ
clear mapping between business language and code ⓘ
easier onboarding for developers ⓘ
improved maintainability ⓘ
reduced coupling to frameworks ⓘ
contrastsWith layered architecture organized by technical concerns ⓘ
package-by-layer organization ⓘ
package-by-technical-component organization ⓘ
corePrinciple architecture should tell you what the system does ⓘ
domain concepts should be top-level structural elements ⓘ
use cases should be first-class citizens in the codebase ⓘ
deemphasizes framework-specific layers ⓘ
infrastructure details in top-level structure ⓘ
describedIn blog posts by Robert C. Martin ⓘ
designConcern dependency direction ⓘ
module boundaries ⓘ
package structure ⓘ
discourages framework-driven package structure ⓘ
grouping code primarily by technical layers ⓘ
emphasizes making the domain model prominent ⓘ
organizing code by business domain ⓘ
organizing code by use cases ⓘ
focusesOn business rules ⓘ
use-case level behavior ⓘ
goal align code structure with business language ⓘ
improve understandability of system purpose ⓘ
make the system’s core business domain evident from its structure ⓘ
hasCreator Robert C. Martin ⓘ
influencedBy Clean Architecture principles ⓘ
Domain-Driven Design strategic design ⓘ
organizesBy application use cases ⓘ
business capabilities ⓘ
domain subdomains ⓘ
originatedIn 2010s ⓘ
promotes separation of domain and infrastructure ⓘ
ubiquitous language in code structure ⓘ
relatedTo Clean Architecture ⓘ
Domain-Driven Design ⓘ
hexagonal architecture ⓘ
onion architecture ⓘ
typicalStructure modules representing use cases or application services ⓘ
packages named after domain concepts ⓘ

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Clean Architecture → influencedBy → Screaming Architecture ⓘ
Screaming Architecture → alsoKnownAs → Architecture That Screams the Domain ⓘ
linked to: Screaming Architecture