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