MVC režiim: Mudelivaade püüab juhtida kontrollerit, mis on praegune peavoolu režiim ja mida kasutatakse serveritarkvara põhirežiimina õppimiseks ja valitsemiseks, ning peavoolu raamistik Struts 1/2 JSF Wicket toetab põhimõtteliselt MVC režiimi.
Kuid B/S-i ja Interneti rakenduste, Web 2.0 ning paljude sagedaste interaktiivsete rakenduste, nagu sotsiaalmeedia ja mängude, pideva populaarsuse tõttu ei sobi suhteliselt staatiline MVC režiim enam väga interaktiivseteks ja käitumuslikeks rakendusteks.
DDD domeeni modelleerimine ise pöörab rohkem tähelepanu struktuurile, selle entiteetväärtuse objekt ja server on samuti omamoodi struktuurne jaotus, kuid see ei rõhuta objektide kohustuste ja käitumise tähtsust ning see on ainus erinevus objektide ja andmebaaside vahel.
Vastupidi,Objektide disain: rollid, vastutused ja koostööRaamat pakub, et objekt mängib tegelikult kindlat rolli ja roll on vastutav, ning seejärel rakendatakse teatud interaktiivne käitumine kindlas stseeni kontekstis, mida on põhjalikult käsitletud Jdonis:
DCI, domeeni mudel, mõned ideed domeeni sündmuste jaoks
Asünkroonne arhitektuuriline mõtlemine: Domeenimudelite rakendamine Akka abil
Raamat võtab kokku tsentraliseeritud kontrollerite neli peamist puudust ning MVC kontrollerid kuuluvad tegelikult sellesse tsentraliseeritud kontrolleri stiili:
1. Juhtimisloogika võib muutuda liiga keeruliseks. Kontrollerid võivad muutuda keeruliseks ning paljudel inimestel on tavaline kirjutada ärikoodi Strutsi Action kontrollerites.Kõik tegevused on tegevustes ja mõned tegevused on peaaegu tuhanded read.
2. Kontrollerid võivad muutuda sõltuvaks infohoidjate sisust. Kontrollerid muutuvad sõltuvaks infokeskustest või andmebaasidest, kontrollerid teevad palju asju, mis tähendab, et domeeni objektid teevad väga vähe, ning kontroller mitte ainult ei tee lõpuks, vaid otsustab ka strateegilisi asju, aga ka taktikaliste küsimustega, nagu kuidas seda teha ja rakendada.
3. Objektid võivad oma kontrolleri tegevuse kaudu kaudselt seotuks saada. Objektid on kontrolleri tegevuste kaudu kaudselt omavahel seotud, üks objekt päritakse kontrolleris ja kopeeritakse teisele objektile ning need kaks objekti on omavahel seotud.
4. Ainus huvitav töö tehakse kontrolleris.
MVC kontroller on omamoodi vahendaja režiim, kuid ka tsentraliseeritud kontroller, mis on peamine erinevus vaatleja režiimist: vahendaja režiim kapseldab suhtlust, samas kui vaatleja detsentraliseeritud kommunikatsioon, kommunikatsiooni seisukohalt on kontrolleril ka omad puudused, lihtne saada suureks ja täielikult ühendatud kontsentraatoriks, need kõik on mõeldudOOSeda ei sallita.
DCI arhitektuurSee on uus kontseptsioon, mis on alles hiljuti tekkinud ja vaatleb tarkvara uuest vaatenurgast, mis kattub ja on õige selles kohustusepõhise disaini osasDDDareng ja täiustamine.
DCI on lühend sõnast Data Context Interactions ning selle oluline panus on stseenide kontseptsiooni esitamine, mida raamatus Duty-Driven Development ei mainita, sest see eitab MVC-d, paljastab selle probleemid ega paku alternatiiveDCISee on MVC alternatiivne arhitektuur ning DCI asendab MVC stsenaariumitega, mis asendavad kontrollereid, nagu alloleval joonisel näidatud (pilt pärineb).Originaalne inglise keel TheDCI Architecture: A New Vision of Object-Oriented Programming):
Stseen kaevab MVC-s välja mõned juhtnupud ja mudelid ning paneb need kokku tegelasstseenidena. See on uus nurk, mis erineb täielikult MVC režiimi arvestamisest, mis on selle nurgaga rohkem kooskõlasOO。
Hiljuti tõstatas keegi selle teemaStseeni kontekst on uus objektitüüp, stseeni ei saa mitte ainult asendadaSOAVeebiteenused võivad samuti asendada MVC kontrollereid.
Isiklikult arvan, et uus hierarhiline arhitektuur võib tulevikus välja näha selline: Vaata --> Kontekst ---> Domeenimudel ---> komponent/respositoorium
MVC režiim on surnud.
|