Puhas Arhitektuur soodustab tarkvara struktuuri, et
parandada testitavust, hooldatavust ja skaleeritavust.
See eraldab mured ja toetab paindlikku koodibaasi, mis
kohandub arenevate nõudmiste ja tehnoloogiatega.
Puhas Arhitektuur: Eesmärgid
Puhas arhitektuur püüdleb tarkvara loomise poole, mis on
lihtne mõista, hooldada ja testida. See rõhutab murede
eraldamist ja hästi määratletud piiride loomist
rakenduse erinevate osade vahel. See eraldamine
võimaldab lihtsamat üksikute komponentide testimist.
Puhas Arhitektuur: Kasud
-
➤ Raamistiku Sõltumatuse: Saab
kasutada ASP.NET (Core), Java, Python jne. ilma, et
oleks sõltuvuses mõnest konkreetsest tarkvara teegist
või patenteeritud koodibaasist.
-
➤ Testitavus: Saab kasutada ASP.NET
(Core), Java, Python jne. ilma, et oleks sõltuvuses
mõnest konkreetsest tarkvara teegist või patenteeritud
koodibaasist.
-
➤ UI Sõltumatuse: Loogika hoitakse
UI-st eemal, muutes tehnoloogiate vahetamise lihtsaks,
näiteks Angularilt Reactile või Blazorile.
-
➤ Andmebaasi Sõltumatuse: Eraldab
puhtalt andmejuurdepääsu mured, hõlbustades muutusi
SQL Serverilt CosmosDB-le.
-
➤ Väline Süsteemide Sõltumatuse: Süda
on täielikult isoleeritud välismaailmast, tagades
pikaealisuse ja lihtsate uuenduste tegemise.
-
➤ Lõdvenenud Seotuse: Soosib
lõdvenenud seotust komponentide ja kihtide vahel,
suurendades hooldatavust ja skaleeritavust.
Puhas Arhitektuur: Ülevaade
-
1. Ärilogika ja Rakenduse Mudel Keskel:
Tagab, et tarkvara olulised aspektid on sõltumatud ja
hästi määratletud.
-
2. Pööratud Sõltuvus: Ärilogika ei
sõltu andmejuurdepääsust ega infrastruktuuri muredest;
selle asemel sõltub infrastruktuur Rakenduse Südamest.
-
3. Kindel Abstraktsioon Rakenduse
Südamikus:
Määratleb selged abstraktsioonid (liidesed), mis
kujutavad olulisi lepinguid.
-
4. Rakendamine Infrastruktuuri Kiht:
Konkreetseid rakendusi teostatakse Infrastruktuuri
kihis, hallates andmejuurdepääsu, väliseid teenuseid
jne.
-
5. Sõltuvuste Sissevoog: Kõik
sõltuvused voolavad sissepoole Rakenduse Südamikku,
tagades murede range eraldamise.
Puhas Arhitektuur: Kihtide Ülevaade
-
➤ Domeeni Kiht: Arhitektuuri süda,
mis rakendab äri loogikat ilma teiste kihtide
sõltuvusteta.
-
➤ Rakenduse Kiht: Keskmine kiht, mis
haldab andmeid domeeni ja esitluse/infrastruktuuri
kihtide vahel.
-
➤ Infrastruktuuri Kiht: Sisaldab
klasse, mis pakuvad juurdepääsu välistest
ressurssidest, nagu failisüsteemid, veebiteenused ja
andmebaasid.
-
➤ Esitluse Kiht: UI kood, kasutades
ASP.NET Core'i liideste loomiseks.
Domeenimõõtlemise (DDD)
Domeenimõõtlemine (DDD) on põhimõtete ja mustrite kogum
tarkvara kavandamiseks, mis keskendub põhiteemadele ja
nende loogikale. DDD rõhutab tehniliste ja domeeni
ekspertide koostööd, et järk-järgult täiustada
kontseptuaalset mudelit, mis käsitleb keerulisi äri
nõudeid. DDD peamised kontseptsioonid hõlmavad:
• Entiteedid: |
Objektid, millel on eriline identiteet, mis läbib
süsteemis erinevaid olekuid.
|
• Väärtusobjektid: |
Muudetavad objektid, mis esindavad domeeni
kirjeldavat aspekti ilma kontseptuaalse
identiteedita.
|
• Agregaadid: |
Domeeni objektide klaster, mida käsitletakse ühe
üksusena andmete muutmiseks.
|
• Repositorid: |
Mehhanismid salvestamise, toomise ja otsingu
käitumise kapseldamiseks, jäljendades objektide
kogumit.
|
Testimine Puhas Arhitektuuris
Testimine Puhas Arhitektuuris hõlmab iga kihi sõltumatut
testimist, et tagada kõigi komponentide korrektne töö ja
nende omavaheline nõuetekohane suhtlemine. See on väga
oluline samm ja vähendab oluliselt keerukust.
-
➤ Mokkamine: Objektide loomine, mis
simuleerivad reaalsete objektide käitumist. Sellisel
juhul saate mokata oma andmebaasi reposiitoreid ilma
tegeliku rakendamiseta.
-
➤ Sõltuvuse Süstimine: Sõltuvuste
(näiteks reposiitorite) edastamine oma
kasutusjuhtumitesse või teenustesse, et neid oleks
lihtsam ühikutest testida.
-
➤ Isolatsioon: Tagamine, et iga test
on sõltumatu ja ei sõltu teiste testide olekust või
andmetest.
Puhas Arhitektuur: Rakendamine
-
1. Domeeni Kihi Konfigureerimine:
Määratlege entiteedid, enumid, erandid, liidesed ja
tüübid.
-
2. Rakenduse Kihi Konfigureerimine:
Kirjutage äri loogika ja teenuse liidesed, säilitades
lõdvenenud seotuse.
-
3. Infrastruktuuri Kihi Konfigureerimine:
Rakendage andmejuurdepääs ja välist ressursside
suhtlemine põhijõudude liideste alusel.
-
4. Esitluse Kihi Konfigureerimine:
Rakendage esitluse kiht.
Järgida Tuleb Põhimõtteid
1. Murede Eraldamine: |
Vältige erinevate koodivastutuste segamist samas
meetodis/klassides/projektides.
|
2. Üksik Vastutus: |
Igal moodulil/komponendil peaks olema ainult üks
põhjus muutumiseks.
|
3. Ärge Korrake End: |
Vältige korduva koodi või loogika olemasolu. |
4. Pööratud Sõltuvused: |
Kõrgetasemelised poliitikad ei tohiks sõltuda
madalamatest üksikasjadest; kasutage sõltuvuse
süstimist lõdvenenud seotuse soodustamiseks.
|
Kokkuvõte
Puhas Arhitektuur pakub tugevat aluse mikroteenuste
ehitamiseks .NET Core Web API abil. Järgides murede
eraldamise ja sõltuvuse pööramise põhimõtteid, saavad
arendajad luua skaleeritavaid, hooldatavaid ja
testitavaid rakendusi. Puhas Arhitektuur tagab kindla
aluse tänapäeva tarkvara arendamise pidevalt muutuvate
nõudmiste jaoks.
Lisainformatsiooni saamiseks külastage meie
GitHubi