Makadii vaunoshanda navo.
Nhasi tinokupa kuti utarise shandurudzo yechinyorwa chakaitwa naTugberk Ugurlu, uyo akatanga kudonongodza nevhoriyamu diki misimboti yekugadzira masisitimu esoftware echizvino-zvino. Hezvino izvo munyori anotaura pamusoro pake muchidimbu:
Sezvo zvisingabviri zvachose kuvhara mune chinyorwa che habro chinyorwa chakakura semagadzirirwo ezvivakwa + mapatani edhizaini kubva muna 2019, isu tinokurudzira kwete chete zvinyorwa zvaVaUruglu pachavo, asiwo akawanda malink aakaisa mairi nemutsa. Kana iwe uchichifarira, isu tichaburitsa yakanyatso hunyanzvi zvinyorwa nezve dhizaini yeakagoverwa masisitimu.
Snapshot
Kana iwe usati wambosangana nematambudziko akadai sekugadzira software system kubva pakutanga, saka kana uchitanga basa rakadaro, dzimwe nguva hazvitombo nyatso kujeka kwekutanga. Ini ndinotenda kuti iwe unofanirwa kutanga wadhirowa miganhu kuitira kuti uve neruzivo rwakanyanya kana kushoma rwezvauchazogadzira, wobva wapeta maoko ako uye woshanda mukati meiyo miganhu. Sekutanga, iwe unogona kutora chigadzirwa kana sevhisi (chaizvo chimwe chaunonyatsoda) uye funga kuti ungachiite sei. Unogona kushamisika kuti chigadzirwa ichi chinoratidzika sei chakareruka, uye kuti chii chakaoma kunzwisisa. Usakanganwa:
Ini ndinofunga zano rakanakisa randinogona kupa kune chero munhu anotanga kugadzira sisitimu ndeiyi: usaite chero fungidziro! Kubva pakutanga, iwe unofanirwa kutsanangura chokwadi chinozivikanwa nezve system iyi uye zvinotarisirwa zvine chekuita nazvo. Heino mimwe mibvunzo yakanaka yekubvunza kuti ikubatsire kutanga kugadzira yako:
- Dambudziko ratiri kuedza kugadzirisa nderei?
- Ndeipi nhamba yepamusoro yevashandisi inozodyidzana nehurongwa hwedu?
- Ndeapi maitiro ekunyora nekuverenga data atichashandisa?
- Ndedzipi nyaya dzinotarisirwa kukundikana, tichazvibata sei?
- Ndezvipi zvinotarisirwa kuenderana nehurongwa uye kuwanikwa?
- Iwe unofanirwa kufunga nezve chero zvidikanwi zvine chekuita nekusimbisa kwekunze uye mutemo kana uchishanda?
- Ndedzipi mhando dze data dzakasimba dzatichachengeta?
Iyi ingori mibvunzo mishoma yanga ichibatsira kwandiri nezvikwata zvandakatora makore ese ebasa rehunyanzvi. Kana iwe uchiziva mhinduro dzemibvunzo iyi (uye chero mimwe inoenderana nemamiriro aunofanirwa kushanda), saka iwe unogona zvishoma nezvishoma kunyura mune tekinoroji yedambudziko.
Isa nhanho yekutanga
Ndinorevei ne "baseline" pano? Chaizvoizvo, munguva yedu, matambudziko mazhinji muindasitiri yesoftware "anogona" kugadziriswa uchishandisa nzira dziripo uye matekinoroji. Saizvozvo, nekufamba-famba munzvimbo iyi, unowana imwe musoro paunotarisana nezvinetso izvo mumwe munhu aifanira kugadzirisa pamberi pako. Usakanganwa kuti mapurogiramu akanyorwa kuti agadzirise zvinetso zvebhizimisi uye zvevashandisi, saka tinoedza kugadzirisa dambudziko racho nenzira yakanyatsojeka uye iri nyore (kubva pakuona kwemushandisi). Sei izvi zvakakosha kuyeuka? Zvichida mune yako coordination system unofarira kutsvaga mhinduro dzakasiyana dzematambudziko ese, nekuti iwe unofunga, "ndoita sei programmer ini kana ndikatevera mapatani kwese"? Saizvozvo, hunyanzvi pano kuita sarudzo dzekuti kupi uye zvekuita. Chokwadi, mumwe nomumwe wedu anofanira kutarisana nezvinetso zvakasiyana panguva nenguva, chimwe nechimwe chazvo chiri denho chaiyoiyo. Zvisinei, kana nhanho yedu yekutanga yakanyatsotsanangurwa, saka tinoziva kuti tingashandisa sei simba redu pa: kutsvaga sarudzo dzakagadzirirwa kugadzirisa dambudziko rakaiswa pamberi pedu, kana kuwedzera kuidzidza nekuwana kunzwisisa kwakadzama.
Ini ndinofunga ndakwanisa kukukurudzira kuti kana nyanzvi ichinzwisisa zvine chivimbo kuti chii chekuvaka chikamu chemamwe akanakisa software masisitimu, saka ruzivo urwu ruchave rwakakosha pakuziva hunyanzvi hwemuvaki uye kugadzira hwaro hwakasimba mundima iyi.
Zvakanaka, saka pekutangira? U
Nekudaro, tisati taenderera kune ichi chinyorwa, ngatitarisei zvakanyanya kukosha kwezvinetso zvekuvaka zvatinosangana nazvo mukuita. Izvi zvakakosha nekuti iwe unofanirwa kutsanangura ZVINHU zvakawanda zvedambudziko rakasindimara uye rakawanda, uye wozorigadzirisa mukati mehurongwa hwemitemo inoshanda mune yakapihwa system.
Vaka ruzivo pamusoro pekuchengetedza uye kutora data
Kazhinji, sarudzo yako pamusoro pemachengetero aunoita uye kutora data rako pamusoro penguva refu ine chekuita kwakakomba pakuita kwehurongwa. Naizvozvo, iwe unofanirwa kutanga wanzwisisa zvinotarisirwa kunyora uye kuverenga maitiro eiyo system yako. Ipapo iwe unofanirwa kukwanisa kuongorora zviratidzo izvi uye kuita sarudzo zvichienderana nekuongorora kwakaitwa. Nekudaro, iwe unokwanisa kubata nebasa iri chete kana iwe uchinzwisisa aripo ekuchengetedza data maitiro. Muchidimbu, izvi zvinoreva ruzivo rwakasimba rwakabatana ne
Databases inogona kufungidzirwa se data zvimiro zvakanyanya scalable uye yakasimba. Naizvozvo, ruzivo rwezvimiro zve data runofanira kubatsira zvakanyanya kwauri pakusarudza imwe dhatabhesi. Semuyenzaniso,
Snapshot
Paunenge uchinge wava nekunzwisisa kwakakwana kweakasiyana ekuchengetedza data mapatani, enda pakudzidza kuenderana kwedata uye kuwanikwa. Chokutanga pane zvose, unofanira kunzwisisa
Chekupedzisira, kupedzisa nhaurirano nezve nyaya dzekuchengetedza data, isu tinofanirawo kutaura caching. Inofanira kumhanya panguva imwe chete pane mutengi uye server? Ndeipi data ichave mune yako cache? Uye nei? Iwe unoronga sei kusagadziriswa kwecache? Ichaitwa nguva dzose, pane dzimwe nguva here? Kana hongu, kangani? Ndinokurudzira kutanga kudzidza nyaya idzi
Kukurukurirana Maitiro
Masisitimu anoumbwa nezvikamu zvakasiyana; aya anogona kunge ari maitiro akasiyana anomhanya mukati meiyo imwechete yemuviri node, kana akasiyana michina inomhanya munzvimbo dzakasiyana dzetiweki yako. Zvimwe zvezviwanikwa izvi mukati metiweki yako zvinogona kunge zviri zvepachivande, asi zvimwe zvinofanirwa kuve pachena uye zvakavhurika kune vatengi vanozviwana kubva kunze.
Izvo zvinodikanwa kuve nechokwadi chekutaurirana kwezviwanikwa izvi kune mumwe nemumwe, pamwe nekutsinhana kweruzivo pakati pehurongwa hwese nenyika yekunze. Mumamiriro ezvinhu ekugadzirisa masisitimu, pano zvakare takatarisana nematambudziko matsva uye akasiyana. Ngationei kuti vangabatsira sei
Snapshot
Pakuronga kukurukurirana nenyika yekunze, nguva dzose inokosha zvikuru
Kugovera kwekubatanidza
Handina chokwadi chekuti kuisa chinyorwa ichi muchikamu chakasiyana kuchaita sekwakanaka kune wese munhu. Zvakadaro, ini ndicharatidza iyi pfungwa zvakadzama pano, uye ndinotenda kuti izvo zviri muchikamu chino zvinonyatsotsanangurwa nezwi rekuti "kugovera kugovera".
Masisitimu anoumbwa nekubatanidza zvakanaka zvikamu zvakawanda, uye kutaurirana kwavo kune mumwe nemumwe kunowanzo kurongeka pahwaro hwemitemo yakasimbiswa, semuenzaniso, TCP uye UDP. Nekudaro, aya maprotocol akadaro kazhinji haana kukwana kuzadzisa zvese zvinodiwa zvemazuva ano masisitimu, ayo anowanzo shandiswa pasi pemutoro mukuru uye zvakare anoenderana zvakanyanya nezvinodiwa nevashandisi. Zvinowanzodikanwa kutsvaga nzira dzekugovera zvibatanidzo kuti utsungirire mitoro yakakura kudaro pane system.
Uku kugovera kunobva pane zvinonyatsozivikanwa
Iwe unofanirwawo kuziva nezvazvo
Ngatitaure nezve bhizinesi logic. Kugadzira bhizinesi logic, basa rinoyerera uye zvikamu
Saka, takakwanisa kukurukura zvakasiyana-siyana zvezvivakwa zvehurongwa. Zvingangodaro, mushandisi haatombofungi nezvese zvinhu izvi zvehurongwa hwako uye, kutaura chokwadi, haana basa nazvo zvachose. Mushandisi anofarira kuti zvakaita sei kupindirana nehurongwa hwako, chii chinogona kuwanikwa nekuita izvi, uye zvakare kuti iyo system inoita sei mirairo yemushandisi, chii uye sei ne data remushandisi.
Sezvinoratidzwa nemusoro wechinyorwa ichi, ini ndanga ndichizotaura nezve software yekuvaka uye system dhizaini. Nekudaro, ini handina kuronga kuvhara magadzirirwo esoftware anotsanangura magadzirirwo esoftware. Zvisinei, pandinonyanya kufunga nezvazvo, ndipo pazvinoita sekuti mutsara uri pakati pemagadzirirwo esoftware uye mapatani ekuvaka wakasviba zvakanyanya, uye pfungwa mbiri idzi dzine hukama. Ngatitorei semuenzaniso
ZVAKASIMA nheyo - Zvepfungwa
Domain-Driven Design , zvikuru sei,aggregates ,zvikwata uye zviitiko Hexagonal architecture Kuparadzaniswa kwemabasa mumirairo uye zvikumbiro (CQRS) Kunyoresa chiitiko Actor muenzaniso MVC, MVVM uye MVP dhizaini mapatani
Maitiro ekubatana
Izvo hazvigoneke zvakanyanya kuti iwe uzviwane iwe uri pane purojekiti semutori wechikamu anove ane mutoro weiyo system dhizaini maitiro. Zvakasiyana, iwe unozonyanya kutaurirana nevaunoshanda navo vanoshanda mukati nekunze kwebasa rako. Mune ino kesi, ungangoda kuongorora yakasarudzwa tekinoroji mhinduro nevaunoshanda navo, tsvaga bhizinesi zvinodiwa uye unzwisise nzira yekufananidza mabasa.
Snapshot
Danho rekutanga nderekukudziridza kunzwisisa kwakaringana uye kwakagovaniswa kwechinangwa chebhizinesi chauri kuedza kuzadzisa uye kuti ndezvipi zvikamu zvinofamba zvauchafanirwa kubata nazvo. Maitiro ekuenzanisira eboka, kunyanya
Panogona kunge paine imwe tekinoroji yakakura pane iyi nyaya isingaite zvishoma pane Domain Driven Dhizaini. Zvisinei, isu neimwe nzira tinodzokera pakunzwisisa nzvimbo yehurukuro, saka ruzivo uye ruzivo mumunda
Source: www.habr.com