{"id":37273,"date":"2019-10-31T22:16:42","date_gmt":"2019-10-31T19:16:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/korotko-o-glavnom-clean-architecture-robert-c-martin\/"},"modified":"2019-10-31T22:16:42","modified_gmt":"2019-10-31T19:16:42","slug":"korotko-o-glavnom-clean-architecture-robert-c-martin","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin","title":{"rendered":"N\u00eb p\u00ebrmbledhje: Arkitektura e Past\u00ebr, Robert C. Martin","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ky do t\u00eb jet\u00eb nj\u00eb tregim mbi impresionet p\u00ebr librin, si dhe disa koncepte dhe njohuri q\u00eb, fal\u00eb k\u00ebtij libri, jan\u00eb m\u00ebsuar.<\/p>\n<h3>Arkitektura<\/h3>\n<p>\nA mund t\u00eb jepni nj\u00eb p\u00ebrgjigje t\u00eb qart\u00eb p\u00ebr pyetjen se \u00e7far\u00eb \u00ebsht\u00eb arkitektura? \u00c7far\u00eb \u00ebsht\u00eb arkitektura n\u00eb kontekstin e programimit dhe dizajnit? \u00c7far\u00eb roli luan ajo? Ka mjaft pasiguri p\u00ebr k\u00ebt\u00eb term. Duket se gjith\u00e7ka \u00ebsht\u00eb e qart\u00eb, por ndonj\u00ebher\u00eb \u00ebsht\u00eb paksa abstrakte dhe pa sakt\u00ebsi. Martin beson, dhe un\u00eb jam dakord me t\u00eb, se aplikacioni ka dy komponent\u00eb: <\/p>\n<ol>\n<li>Shtimi (behavior) \u2014 funksionet dhe detyrat q\u00eb programi (komponenti, sh\u00ebrbimi) i kryen.<\/li>\n<li>Arkitektura \u2014 ky term n\u00eb mas\u00eb t\u00eb madhe lidhet me ndryshimin e aplikacionit.<\/li>\n<\/ol>\n<p>\nPor shum\u00eb, n\u00ebse aplikacioni b\u00ebn shum\u00eb mir\u00eb detyr\u00ebn q\u00eb duhet t\u00eb kryej\u00eb, kjo nuk do t\u00eb thot\u00eb aspak q\u00eb ai ka nj\u00eb arkitektur\u00eb t\u00eb mir\u00eb. Arkitektura nuk ka t\u00eb b\u00ebj\u00eb me sjelljen e aplikacionit. Arkitektura ka t\u00eb b\u00ebj\u00eb me leht\u00ebsin\u00eb e ndryshimeve, arkitektura ka t\u00eb b\u00ebj\u00eb me leht\u00ebsin\u00eb e shp\u00ebrndarjes, arkitektura ka t\u00eb b\u00ebj\u00eb me pavar\u00ebsin\u00eb e zhvillimit. Arkitektura ka t\u00eb b\u00ebj\u00eb me shpejt\u00ebsin\u00eb me t\u00eb cil\u00ebn njohuria arrin tek nj\u00eb person i ri n\u00eb ekip.<\/p>\n<p>Dhe k\u00ebshtu t\u00eb nd\u00ebrtojm\u00eb k\u00ebt\u00eb arkitektur\u00eb, si t\u00eb heqim dor\u00eb nga dhimbja e kok\u00ebs p\u00ebr ndryshimet e vogla t\u00eb k\u00ebrkesave nga PM ose nga pal\u00ebt e interesit: p\u00ebr k\u00ebt\u00eb flet libri.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>P\u00ebr autor\u00ebt<\/h3>\n<p>\nPara se t\u00eb them di\u00e7ka p\u00ebr k\u00ebt\u00eb lib\u00ebr, dua t\u00eb them pak rreth vetes.<br \/>\nAktualisht un\u00eb jam Strong Junior Developer, i specializuar n\u00eb zhvillimin e sh\u00ebrbimeve p\u00ebrmes ASP .NET CORE.<\/p>\n<p>Kam punuar p\u00ebr nj\u00eb vit n\u00eb nj\u00eb \u201cgaler\u00eb\u201d, dhe duket se po e p\u00ebrballoj pak nga pak.<\/p>\n<p>E kam lexuar k\u00ebt\u00eb lib\u00ebr 2 her\u00eb dhe e rekomandoj p\u00ebr t\u00eb lexuar t\u00eb gjith\u00ebve:<\/p>\n<ul>\n<li>zhvilluesve t\u00eb sistemeve embedded;<\/li>\n<li>front-end developer\u00ebve;<\/li>\n<li>back-end developer\u00ebve;<\/li>\n<li>dhe madje edhe DevOps.<\/li>\n<\/ul>\n<p>\nP\u00ebr t\u00eb gjith\u00eb ata q\u00eb jan\u00eb nd\u00ebrlidhur n\u00eb ndonj\u00eb m\u00ebnyr\u00eb me zhvillimin e softuerit, duke iu referuar zhvillimit t\u00eb drejtp\u00ebrdrejt\u00eb t\u00eb ndrysheve si Sales dhe PM, k\u00ebtu nuk p\u00ebrfshihen (edhe pse do t\u00eb ishte e dobishme t\u00eb dija pse disa zhvillues ndonj\u00ebher\u00eb shpenzojn\u00eb dy her\u00eb m\u00eb shum\u00eb koh\u00eb n\u00eb nj\u00eb detyr\u00eb), ju rekomandoj t\u00eb lexoni k\u00ebt\u00eb lib\u00ebr.<br \/>\nDhe tani do t\u00eb p\u00ebrpiqem t\u00eb argumentoj se pse mendoj k\u00ebshtu.<\/p>\n<p>Pak rreth autorit t\u00eb k\u00ebtij libri (sepse p\u00ebr mua autoriteti i shkrimtarit ka nj\u00eb rol t\u00eb madh). Mendoj se do t\u00eb m\u00eb kuptoni, ndon\u00ebse kjo nuk \u00ebsht\u00eb gjithmon\u00eb e drejt\u00eb, por n\u00ebse nj\u00eb person autoritar n\u00eb fush\u00eb ju thot\u00eb di\u00e7ka \u2014 ju tregoni shum\u00eb m\u00eb shum\u00eb besim n\u00eb at\u00eb q\u00eb ai thot\u00eb. P\u00ebr shembull, mendoj se ju do t\u00eb besoni m\u00eb shum\u00eb n\u00eb diagnostikimin q\u00eb ju jep mjeku, sesa nga ndonj\u00eb person tjet\u00ebr nga turma (q\u00eb ka k\u00ebrkuar informacion rreth simptomeve).<\/p>\n<p>Robert Martin \u2014 i njohur si Uncle Bob \u2014 punon n\u00eb fush\u00ebn e programimit, p\u00ebrfshir\u00eb sistemet e ndryshme (nga sh\u00ebrbimet n\u00eb internet deri te sistemet e inkorporuara), q\u00eb nga viti 1970. Ai \u00ebsht\u00eb nj\u00eb k\u00ebshilltar teknik dhe arkitekt, ka shkruar p\u00ebr revista t\u00eb ndryshme teknike, \u00ebsht\u00eb nj\u00eb programues shum\u00eb i p\u00ebrvojsh\u00ebm dhe nj\u00eb person q\u00eb ka luajtur nj\u00eb nga rolet ky\u00e7e n\u00eb krijimin e principeve t\u00eb njohura SOLID (mund t\u00eb thuhet se \u00ebsht\u00eb krijuesi i tyre). Gjithashtu, dua t\u00eb shtoj se k\u00ebt\u00eb lib\u00ebr ma rekomandoi timlidi im me mbi 15 vjet p\u00ebrvoj\u00eb n\u00eb pun\u00eb.<\/p>\n<h2>Rreth librit<\/h2>\n<p><\/p>\n<h3>Var\u00ebsit\u00eb<\/h3>\n<p>\nPara se t\u00eb filloja t\u00eb lexoja librin, kam lexuar mjaft artikuj n\u00eb t\u00eb nj\u00ebjt\u00ebn faqe n\u00eb internet, ku p\u00ebrmendej nj\u00eb fjal\u00eb si \"var\u00ebsi\". \u00c7far\u00eb \u00ebsht\u00eb kjo, kush \u00ebsht\u00eb i varur nga kush, \u00e7far\u00eb do t\u00eb thot\u00eb konkretisht \"t\u00eb jesh i varur\" dhe si mund t\u00eb varet nj\u00eb klas\u00eb nga dikush tjet\u00ebr? <\/p>\n<p>Dhe k\u00ebshtu, gjat\u00eb leximit t\u00eb librit, kuptova dy pika:<\/p>\n<p>Var\u00ebsia \u00ebsht\u00eb nj\u00eb term q\u00eb do t\u00eb thot\u00eb se nj\u00eb klas\u00eb (komponent, sh\u00ebrbim) di p\u00ebr nj\u00eb klas\u00eb tjet\u00ebr (komponent, sh\u00ebrbim), dhe kjo dije n\u00eb nivelin e kodit p\u00ebrcaktohet (tani programuesit e Java, C#, dhe C do t\u00eb m\u00eb kuptojn\u00eb) me nj\u00eb import t\u00eb caktuar t\u00eb hap\u00ebsir\u00ebs s\u00eb emrave. Me fjal\u00eb t\u00eb tjera: keni nj\u00eb klas\u00eb A me hap\u00ebsir\u00ebn e emrave Default.Classes dhe nj\u00eb klas\u00eb B Another.Classes. Pra, n\u00ebse n\u00eb kodin burimor t\u00eb klas\u00ebs A do t\u00eb shfaqet using Another.Classes; \u2014 kjo do t\u00eb thot\u00eb se klasa A varet nga klasa B. <br \/>\nP\u00ebr t\u00eb kuptuar nga skema, ku \u00ebsht\u00eb klasa e varur dhe ku nuk \u00ebsht\u00eb \u2014 shikoni drejtimin e shigjet\u00ebs: n\u00eb 1) shigjeta do t\u00eb tregoj\u00eb nga klasa A drejt klas\u00ebs B. Kjo do t\u00eb thot\u00eb se klasa B \u00ebsht\u00eb m\u00eb e pavarur se klasa A. Dhe ndryshimet n\u00eb klas\u00ebn A, nuk do t'i shkaktojn\u00eb asnj\u00eb 'd\u00ebm' klas\u00ebs B.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00eb p\u00ebrmbledhje: Arkitektura e Past\u00ebr, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/e8a54c03bc1aaf23aec3d24b002fc866.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>SOLID<\/h3>\n<p>\nNj\u00eb nga arsyet kryesore q\u00eb m\u00eb nxit\u00ebn t\u00eb lexoj k\u00ebt\u00eb lib\u00ebr \u00ebsht\u00eb shpjegimi i principeve S\u041eLID nga burimi i par\u00eb, sepse Xhaxhi Rob i zhvilloi k\u00ebto principe dhe mund t\u00eb thuhet se fal\u00eb tij ne d\u00ebgjojm\u00eb k\u00ebt\u00eb em\u00ebr \u2014 SOLID.<br \/>\nP\u00ebr ata q\u00eb nuk jan\u00eb n\u00eb dijeni \u2014 k\u00ebto principe flasin dhe sugjerojn\u00eb q\u00eb t\u00eb dizenjoni aplikacionet tua p\u00ebrkat\u00ebsisht me 5 rregulla:<\/p>\n<p>S \u2014 SRP (Principi i p\u00ebrgjegj\u00ebsis\u00eb s\u00eb vetme)<br \/>\nO \u2014 OCP (Principi i Hapur-mbyllur)<br \/>\nL \u2014 LSP (P\u00ebrgjigjja e Z\u00ebvend\u00ebsimit t\u00eb Liskovit)<br \/>\nI \u2014 ISP (Parimi i Ndashjes s\u00eb Interface)<br \/>\nD \u2014 DIP (Parimi i Invertimit t\u00eb Var\u00ebsive)<\/p>\n<p>T\u00eb gjith\u00eb k\u00ebta parime mund t\u00eb aplikohen n\u00eb nivelin e klasave dhe objekteve, n\u00eb nivelin e moduleve dhe komponenteve dhe n\u00eb nivelin e shtresave (sh\u00ebrbimeve).<\/p>\n<p>N\u00ebse mendoni se Parimi i p\u00ebrgjegj\u00ebsis\u00eb s\u00eb vetme i referohet faktit q\u00eb klasa ose moduli duhet t\u00eb b\u00ebj\u00eb vet\u00ebm nj\u00eb gj\u00eb \u2014 at\u00ebher\u00eb ju duhet t\u00eb lexoni t\u00eb pakt\u00ebn nj\u00eb kapitull mbi SOLID. Sepse ajo p\u00ebrkufizim q\u00eb u dha m\u00eb lart \u00ebsht\u00eb nj\u00eb pasoj\u00eb, por jo p\u00ebrkufizimi i vet\u00eb parimit.<\/p>\n<h3>P\u00ebr Invertimin e Var\u00ebsive<\/h3>\n<p>\nDua t\u00eb theksoj shpjegimin e Parimit t\u00eb Invertimit t\u00eb Var\u00ebsive (ai q\u00eb \u00ebsht\u00eb D n\u00eb SOLID). Gjat\u00eb leximit t\u00eb librit, kuptova se, kjo nuk \u00ebsht\u00eb thjesht nj\u00eb parim, \u00ebsht\u00eb gjithashtu nj\u00eb mekaniz\u00ebm dhe mjet, me an\u00eb t\u00eb t\u00eb cilit mund t\u00eb ndryshoni drejtimin e var\u00ebsive tuaja dhe t\u00eb b\u00ebni, p.sh., logjik\u00ebn e biznesit (DOMAIN) t\u00eb pavarur nga detajet e implementimit t\u00eb Shtres\u00ebs s\u00eb Qasjes n\u00eb T\u00eb Dh\u00ebna (DAL).<\/p>\n<p><img decoding=\"async\" alt=\"N\u00eb p\u00ebrmbledhje: Arkitektura e Past\u00ebr, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/0bceb51ecdb3d220d8a311d0ccdb26d7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMegjith\u00ebse parimi vet\u00eb, s\u00eb bashku me t\u00eb tjer\u00ebt n\u00eb SOLID, do t\u00eb thot\u00eb pak m\u00eb ndryshe nga mekanizmi, ky mekaniz\u00ebm p\u00ebrdoret gjat\u00eb gjith\u00eb librit dhe \u00ebsht\u00eb nj\u00eb nga metodat kryesore p\u00ebr t\u00eb invertuar dhe ndryshuar drejtimin e var\u00ebsive tuaja, i cili, gjithashtu, p\u00ebrdoret n\u00eb DDD.<\/p>\n<h3>Rreth marrjes s\u00eb vendimeve arkitektonike<\/h3>\n<p>\nShum\u00eb shpesh n\u00eb lib\u00ebr do t\u00eb p\u00ebrmendet principi i marrjes s\u00eb vendimeve t\u00eb r\u00ebnd\u00ebsishme arkitektonike: p\u00ebr at\u00eb, \u00e7far\u00eb DB t\u00eb p\u00ebrdoret, cilin framework t\u00eb p\u00ebrdoret, cil\u00ebn bibliotek\u00eb t\u00eb lidhet, \u00e7far\u00eb t\u00eb p\u00ebrdoret si motor k\u00ebrkimi, etj.<\/p>\n<p>K\u00ebshtu, autori mendon: duhet t\u00eb merrni sa m\u00eb pak vendime t\u00eb tilla. Sepse k\u00ebrkesat mund t\u00eb ndryshojn\u00eb, kufizimet p\u00ebr performanc\u00ebn gjithashtu, dhe komponenti i sjelljes ka tendenc\u00eb t\u00eb ndryshoj\u00eb. Gjat\u00eb zhvillimit, nj\u00eb vendim mund t\u00eb duket m\u00eb pak efektiv se nj\u00eb tjet\u00ebr, m\u00eb pak i rehatsh\u00ebm se nj\u00eb tjet\u00ebr. Dhe fuqia e arkitektur\u00ebs tuaj do t\u00eb p\u00ebrcaktoj\u00eb, sa shpejt dhe pa dhimbje do t\u00eb mund t\u00eb z\u00ebvend\u00ebsoni nj\u00eb teknologji me nj\u00eb tjet\u00ebr (p\u00ebr k\u00ebt\u00eb, OCP e thekson).<\/p>\n<p>P\u00ebr shembull, papritur, vendosni t\u00eb p\u00ebrdorni n\u00eb vend t\u00eb Postgresql MongoDb, ose madje skedar\u00eb, ose t\u00eb p\u00ebrdorni t\u00eb dh\u00ebna t\u00eb simuluara, operacionet me t\u00eb cilat do t\u00eb kryhen n\u00eb memorie. Dhe n\u00eb disa kushte \u2014 kjo mund t'ju detyroj\u00eb t\u00eb shkruani p\u00ebrs\u00ebri pothuajse gjith\u00eb logjik\u00ebn. <\/p>\n<p>P\u00ebr t\u00eb parandaluar situata t\u00eb tilla, ne mund t\u00eb p\u00ebrdorim disa mekanizma q\u00eb do t\u00eb shtyjn\u00eb sa m\u00eb larg q\u00eb t\u00eb jet\u00eb e mundur koh\u00ebn e marrjes s\u00eb vendimeve. Nj\u00eb nga k\u00ebta mekanizma \u00ebsht\u00eb abstraksioni.<\/p>\n<h3>Referencat n\u00eb DDD<\/h3>\n<p>\nDDD \u2014 Design i Bazuar n\u00eb Domain \u2014 \u00ebsht\u00eb nj\u00eb qasje p\u00ebr zhvillimin e sh\u00ebrbimeve me logjik\u00eb t\u00eb komplikuar biznesi, kritike ndaj ndryshimeve, e cila synon t\u00eb maksimizoj\u00eb kuptimin e pozita drejtuesve t\u00eb projektit (PM, menaxher\u00eb shitjesh etj.), p\u00ebr t\u00eb b\u00ebr\u00eb q\u00eb t\u00eb gjith\u00eb an\u00ebtar\u00ebt e projektit t\u00eb ken\u00eb nj\u00eb gjuh\u00eb ubiquitaire, q\u00eb secili t\u00eb mund t\u00eb kuptoj\u00eb tjetrin dhe t\u00eb mendojn\u00eb n\u00eb t\u00eb nj\u00ebjtin domain me t\u00eb nj\u00ebjtat rregulla biznesi.<\/p>\n<p>N\u00ebse jeni nj\u00eb mb\u00ebshtet\u00ebs i DDD, ose d\u00ebshironi t\u00eb jeni, ose nuk kuptoni di\u00e7ka n\u00eb k\u00ebt\u00eb aspekt, por d\u00ebshironi ta kuptoni \u2014 libri \u00ebsht\u00eb i detyruesh\u00ebm p\u00ebr t'u lexuar, ve\u00e7an\u00ebrisht pjesa e dyt\u00eb e librit.<\/p>\n<p>K\u00ebtu autori shpjegon mbi ekzistenc\u00ebn e Rregullit t\u00eb Var\u00ebsis\u00eb dhe arsyen pse, duke e ndjekur at\u00eb \u2014 ju do t\u00eb nd\u00ebrtoni nj\u00eb arkitektur\u00eb t\u00eb duhur t\u00eb aplikacionit. Pse var\u00ebsit\u00eb duhet t\u00eb ndjekin drejtimin ndaj komponenteve t\u00eb Politikes s\u00eb Lart\u00eb, pse <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/domain\/\"   title=\"domain\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4077\">domain<\/a> (komponenti i Politik\u00ebs s\u00eb Lart\u00eb) duhet t\u00eb jet\u00eb i pavarur nga infrastruktura dhe si kjo do t'ju thjeshtoj\u00eb shp\u00ebrndarjen dhe zhvillimin.<\/p>\n<p><img decoding=\"async\" alt=\"N\u00eb p\u00ebrmbledhje: Arkitektura e Past\u00ebr, Robert C. Martin\" src=\"\/wp-content\/uploads\/2019\/08\/be7b51d067415390e0098339fb6cda46.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Abstraksioni<\/h3>\n<p>\nDaja Rob, gjithashtu tregon se si detajet e implementimit mund t\u00eb d\u00ebmtojn\u00eb sistemin tuaj dhe t\u00eb pengojn\u00eb evolucionin pa dhimbje n\u00eb t\u00eb ardhmen.<\/p>\n<p>Mos harroni!<br \/>\nBaza e t\u00eb dh\u00ebnave \u00ebsht\u00eb nj\u00eb detaj i implementimit<br \/>\nKlient\u00ebt (Web, Mobile, etj) jan\u00eb detaje t\u00eb implementimit<br \/>\nFramework-et jan\u00eb nj\u00eb detaj i implementimit<\/p>\n<p>Duke u ndar\u00eb sa m\u00eb shum\u00eb nga k\u00ebto dhe duke mos u varur, duke p\u00ebrdorur mbi t\u00eb gjitha Inversionin e Var\u00ebsis\u00eb me nd\u00ebrfaqet dhe abstraksionet, Rregullin e Var\u00ebsis\u00eb dhe mekanizma t\u00eb tjer\u00eb.<\/p>\n<h3>Metodat e nd\u00ebrtimit t\u00eb moduleve<\/h3>\n<p>\nKy seksion m\u00eb p\u00eblqeu ve\u00e7an\u00ebrisht si zhvillues i sh\u00ebrbimeve n\u00eb ASP .NET CORE. Sepse k\u00ebtu flitet p\u00ebr metodologjit\u00eb e nd\u00ebrtimit t\u00eb nj\u00eb arkitekture t\u00eb vetme sh\u00ebrbimi nga komponent\u00ebt e gatsh\u00ebm. <\/p>\n<p>Robert p\u00ebrshkroi 4 skema t\u00eb mundshme p\u00ebr ndarjen e niveleve.<\/p>\n<p>Ai b\u00ebri t\u00eb qart\u00eb pse mekanizmi kaq shpesh i p\u00ebrdorur i arkitektur\u00ebs me 3 nivele: UI (kontroller\u00ebt), Sh\u00ebrbimet (Domeni), DAL (Baza e t\u00eb dh\u00ebnave) \u00ebsht\u00eb mjaft i dob\u00ebt krahasuar me t\u00eb tjer\u00ebt. Kam par\u00eb jo shum\u00eb projekte, por n\u00eb \u00e7do mikro-sh\u00ebrbim, n\u00eb backend p\u00ebrdoret pik\u00ebrisht arkitektura me tre nivele. <\/p>\n<p>Gjithashtu, shpesh p\u00ebrdoret arkitektura nj\u00eb-komponent-nj\u00eb-sh\u00ebrbim. N\u00eb p\u00ebrgjith\u00ebsi, t\u00eb dyja jan\u00eb t\u00eb mira, por ajo ka shum\u00eb mang\u00ebsi n\u00eb krahasim, p\u00ebr shembull, me nd\u00ebrtimin e arkitektur\u00ebs duke p\u00ebrdorur DDD, posa\u00e7\u00ebrisht n\u00eb sh\u00ebrbime q\u00eb jan\u00eb kritike ndaj ndryshimeve dhe komplekse.<\/p>\n<p>N\u00eb p\u00ebrgjith\u00ebsi, ky \u00ebsht\u00eb p\u00ebrfundimi i k\u00ebtij rishikimi t\u00eb librit. Libri m\u00eb p\u00eblqeu shum\u00eb, nuk e pendohesha p\u00ebr at\u00eb q\u00eb lexova, faleminderit autorit. Ju, t\u00eb dashur lexues, faleminderit p\u00ebr v\u00ebmendjen, mos gjykoni ashp\u00ebr \u2014 kjo publikim bazohet n\u00eb p\u00ebrshtypjet nga libri dhe entuziazmin tim personal.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/464185\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430? \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? \u041a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u043e\u043d\u0430 \u0438\u0433\u0440\u0430\u0435\u0442? \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u044f\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0435\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0435. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430? \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? \u041a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u043e\u043d\u0430 \u0438\u0433\u0440\u0430\u0435\u0442? \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u044f\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0435\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e \u0433\u043b\u0430\u0432\u043d\u043e\u043c: Clean Architecture, Robert C. Martin | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430? \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? \u041a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u043e\u043d\u0430 \u0438\u0433\u0440\u0430\u0435\u0442? \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u044f\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0435\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:16:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:16:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kjo \u00ebsht\u00eb e r\u00ebnd\u00ebsishme: Arkitektura e Past\u00ebr, Robert C. Martin | ProHoster","description":"Ky do t\u00eb jet\u00eb nj\u00eb tregim mbi p\u00ebrshtypjet mbi librin, si dhe do t\u00eb shqyrtohen disa konceptet dhe njohurit\u00eb q\u00eb, fal\u00eb k\u00ebtij libri, jan\u00eb studiuar. Arkitektura. A mund t\u00eb jepni nj\u00eb p\u00ebrgjigje t\u00eb qart\u00eb p\u00ebr pyetjen, \u00e7far\u00eb \u00ebsht\u00eb arkitektura? \u00c7far\u00eb \u00ebsht\u00eb arkitektura n\u00eb kontekstin e programimit dhe dizajnit? Cila \u00ebsht\u00eb roli i saj? Ka shum\u00eb paqart\u00ebsi n\u00eb lidhje me k\u00ebt\u00eb termin.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e \u0433\u043b\u0430\u0432\u043d\u043e\u043c: Clean Architecture, Robert C. Martin | ProHoster","og:description":"\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u0438 \u043e \u043a\u043d\u0438\u0433\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0438 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u0438\u0433\u0435, \u0431\u044b\u043b\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u044b \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u041c\u043e\u0436\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b, \u0447\u0438\u0442\u0430\u044f \u044d\u0442\u0443 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0434\u0430\u0442\u044c \u0447\u0435\u0442\u043a\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430? \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? \u041a\u0430\u043a\u0443\u044e \u0440\u043e\u043b\u044c \u043e\u043d\u0430 \u0438\u0433\u0440\u0430\u0435\u0442? \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u044f\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0435\u0441\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0435.","og:url":"https:\/\/prohoster.info\/sq\/blog\/novosti-interneta\/korotko-o-glavnom-clean-architecture-robert-c-martin","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:16:42+00:00","article:modified_time":"2019-10-31T19:16:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37273","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-03-05 11:16:40","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:30:00","updated":"2026-03-05 11:16:40","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=37273"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37273\/revisions"}],"predecessor-version":[{"id":163180,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37273\/revisions\/163180"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/27958"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=37273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=37273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=37273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}