MVC režīms: Modeļa skats mēģina kontrolēt kontrolieri, kas ir pašreizējais galvenais režīms, un tiek izmantots kā servera programmatūras ievadīšanas pamata režīms, lai mācītos un apgūtu, un galvenais ietvars Struts 1/2 JSF Wicket būtībā atbalsta MVC režīmu.
Tomēr, nepārtraukti popularizējot B / S un interneta lietojumprogrammas, Web 2.0 un lielu skaitu biežu interaktīvu lietojumprogrammu, piemēram, sociālos medijus un spēles, relatīvi statiskais MVC režīms vairs nav piemērots ļoti interaktīvām un uz uzvedību orientētām lietojumprogrammām.
DDD domēna modelēšana pati par sevi pievērš lielāku uzmanību struktūrai, tās vienības vērtības objekts un serveris ir arī sava veida strukturāls sadalījums, taču tas neuzsver objekta pienākumu un uzvedības nozīmi, un tā ir vienīgā atšķirība starp objektiem un datu bāzēm.
Gluži pretēji,Objektu dizains: lomas, pienākumi un sadarbībaGrāmata ierosina, ka objekts faktiski spēlē noteiktu lomu, un loma ir atbildīga, un tad noteikta interaktīva uzvedība tiks īstenota noteiktā ainas kontekstā, kas ir pilnībā apspriests Jdon:
DCI, domēna modelis, dažas idejas domēna notikumiem
Asinhronā arhitektūras domāšana: ieviesiet domēna modelēšanu ar Akka
Grāmatā apkopoti četri galvenie centralizēto kontrolieru trūkumi, un MVC kontrolieri faktiski pieder šim centralizētajam kontroliera stilam:
1. Vadības loģika var kļūt pārāk sarežģīta. Kontrolieri var kļūt sarežģīti, un daudziem cilvēkiem ir ierasts rakstīt biznesa kodu Struts Action kontrolieros.Visas darbības ir darbībās, un dažas darbības ir gandrīz tūkstošiem rindu.
2.Pārziņi var kļūt atkarīgi no informācijas turētāju satura. Pārziņi kļūst atkarīgi no informācijas datu centriem vai datu bāzēm, pārziņi dara daudz lietu, kas nozīmē, ka domēna objekti dara ļoti maz, un pārzinis ne tikai darīs to, ko galu galā, bet arī izlems stratēģiskas lietas, bet arī kopā ar taktiskiem jautājumiem, piemēram, kā to izdarīt un kā to īstenot.
3. Objekti var tikt savienoti netieši, izmantojot to kontroliera darbības. Objekti tiek netieši savienoti ar kontroliera darbībām, viens objekts tiek vaicāts kontrolierī un pēc tam kopēts uz citu objektu, un abi objekti tiek savienoti kopā.
4. Vienīgais interesantais darbs tiek veikts kontrolierī.
MVC kontrolieris ir sava veida starpnieka režīms, bet arī centralizēts kontrolieris, tā ir galvenā atšķirība no novērotāja režīma: starpnieka režīms ietver komunikāciju, savukārt novērotāja decentralizētā komunikācija no komunikācijas viedokļa kontrolierim ir arī raksturīgi defekti, viegli kļūt par lielu un pilnībā savienotu koncentratoru, tie visi ir paredzētiOOTas nav pieļaujams.
DCI arhitektūraTā ir jauna koncepcija, kas tikai nesen parādījās un aplūko programmatūru no jaunas perspektīvas, kas sakrīt ar un ir taisnība par pienākumu virzītu dizainuDDDattīstība un uzlabošana.
DCI ir datu konteksta mijiedarbības saīsinājums, un tā svarīgais ieguldījums ir izvirzīt ainu jēdzienu, kas nav minēts grāmatā Duty-Driven Development, kas tikai noliedz MVC, atklāj tās problēmas un nepiedāvā alternatīvasASITā ir alternatīva MVC arhitektūra, un DCI aizstāj MVC ar scenārijiem, lai aizstātu kontrolierus, kā parādīts zemāk redzamajā attēlā (attēls ir no).Oriģināls angļu valodāASI Architecture: A New Vision of Object-Oriented Programming):
Aina faktiski izrakt dažas MVC vadības ierīces un modeļus un saliek tos rakstzīmju ainu veidā. Šis ir jauns leņķis, kas pilnīgi atšķiras no MVC režīma apsvēruma, kas vairāk atbilst šim leņķimOO。
Nesen kāds to ir izvirzījisAinas konteksts ir jauns objekta tips, ainu var ne tikai nomainītSOATīmekļa pakalpojumi var arī aizstāt MVC kontrolierus.
Personīgi es domāju, ka jaunā hierarhiskā arhitektūra nākotnē varētu izskatīties šādi: Skatīt --> kontekstu ---> domēna modeli ---> komponentu/repozitoriju
MVC režīms ir miris.
|