Clean Architecture · Mindmaps
Clean Architecture. Et redigerbart mindmap med farvede grene, underemner og forbindelser. Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.
Clean Architecture organiserer kode i koncentriske lag (entiteter, use cases, grænsefladeadaptere, frameworks) under én regel: afhængigheder peger altid indad, så kernen aldrig afhænger af et værktøj.
Clean Architecture · Mindmaps
The interactive MindMap canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.
Sådan læser du mindmappet
- Begynd ved emnet i midten, og følg en farvet gren til de tilhørende idéer.
- Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.
Business core
Denne gren samler “The innermost circle: objects and rules that exist no matter how the app is delivered — a customer, an invoice, the rule that an invoice cannot be paid twice.”, “The core never imports a framework”.
Use cases
Denne gren samler “Use cases orchestrate entities for one application scenario, such as “place an order”. They know about the app but nothing about screens or databases.”, “Because the database and UI are details, replacing them — a migration, a new front-end — leaves the entities and use cases untouched.”.
Adapters
Denne gren samler “Adapters translate between the use cases and the outside world: an HTTP controller turns a request into a use-case call, a presenter turns results into a screen.”, “Outer layers talk through the adapter, not to the core”.
Frameworks
Denne gren samler “The outermost ring: the tools. React, PostgreSQL, Express — details that can change without the core knowing or caring.”, “The dependency rule: source code dependencies always cross inward. The core declares what it needs (interfaces) and the outer rings implement them.”.
Forbindelser på tværs
Afhængigheder peger altid indad: den ene regel er, hvad arkitekturen er.
Kernen erklærer interfaces; de ydre ringe implementerer dem: adapteren er sømmen.
Entiteter og use cases er frameworkuafhængige af konstruktion.
Gevinsten er udskiftelighed: skift UI, database eller webframework uden at røre kernen.
Clean Architecture handler om afhængighedernes retning, ikke om antallet af lag.
Key relationships and takeaways
- Afhængigheder peger altid indad: den ene regel er, hvad arkitekturen er.
- Kernen erklærer interfaces; de ydre ringe implementerer dem: adapteren er sømmen.
- Entiteter og use cases er frameworkuafhængige af konstruktion.
- Gevinsten er udskiftelighed: skift UI, database eller webframework uden at røre kernen.
- Clean Architecture handler om afhængighedernes retning, ikke om antallet af lag.
When to use this visual
- At lære et team afhængighedsreglen, før de strukturerer en stor kodebase.
- At gennemgå en arkitektur: et use case, der importerer et UI- eller databasebibliotek, er et brud på reglen, og det er synligt på lærredet.
- At planlægge en omskrivning eller migrering: lærredet viser, hvilke lag der skal overleve, og hvilke der kan skiftes ud.
Sådan fungerer det
Tilpas emnet i midten
Giv emnet et navn, der passer til dit projekt eller din undervisning.
Udbyg grenene
Rediger idéerne, og tilføj eksempler eller noter.
Forbind beslægtede idéer
Tegn forbindelser på tværs af grene; brug kun pile, når retningen betyder noget.
Ofte stillede spørgsmål
Hvad er Clean Architecture?
Det er et arkitekturmønster, gjort udbredt af Robert C. Martin, som organiserer kode i koncentriske lag: entiteter i midten, derefter use cases, derefter grænsefladeadaptere og yderst frameworks og drivere. Den styrende regel er, at afhængigheder i kildekoden altid peger indad, så de centrale forretningsregler aldrig afhænger af leveringsmekanismerne: UI, database eller webframework.
Hvad er afhængighedsreglen?
Afhængighedsreglen siger, at afhængigheder i kildekoden altid skal krydse indad: et ydre lag må afhænge af et indre lag, aldrig omvendt. I praksis erklærer de indre lag interfaces, og de ydre lag implementerer dem, så kernens kode ikke importerer noget fra værktøjerne i kanten. Diagrammet tegner det som sin egen gruppe, fordi hver eneste anden egenskab ved arkitekturen følger af den.
Hvordan adskiller Clean Architecture sig fra lagdelt arkitektur?
Lagdelt arkitektur adskiller også ansvar, men dens afhængigheder løber som regel oppefra og ned: præsentationslaget kalder servicelaget, som kalder datalaget. Clean Architecture vender det om: forretningskernen ligger i midten, og alt andet afhænger af den, så afhængighedernes retning er det, der adskiller dem. Diagrammets pil ind mod kernen er forskellen gjort synlig.
Er Clean Architecture besværet værd i et lille projekt?
Ikke altid: ceremonien koster mere, end den giver, når forretningsreglerne er trivielle, eller teamet er én person. Mønsteret tjener sig ind, når forretningslogikken er kompleks nok til, at den skal overleve værktøjerne, eller når UI'et eller databasen sandsynligvis vil ændre sig. Gevinstboksene på lærredet siger byttehandlen ærligt: kernens sikkerhed er købt med adapterlagene.
Rediger dette mindmap i QueryChart
Åbn mindmappet på et redigerbart lærred. Flyt idéer, tilføj grene, og tegn forbindelser.