/ / Je to MVC, keď pohľad neovplyvňuje model? - .net, model-view-controller, návrhové vzory

Je to MVC, keď pohľad nefunguje s modelom? - .net, model-view-controller, dizajnové vzory

Navrhol som MVC (v.NET), kde pohľad nemá žiadny odkaz na model. Vie iba o kontroléri. Tradičný vzor MVC má všetky časti navzájom komunikovať. V mojom prípade je kontrolór v podstate sprostredkovateľ. Tým sa z pohľadu vylúčia všetky výnimky alebo logika. Má nulovú závislosť od modelu. Už to nie je MVC?

odpovede:

19 pre odpoveď č. 1

To, čo popisujete, je vlastne podskupina nazývaná Model-View-Controller Pasívny pohľad.

alt text

Pasívne zobrazenie je ďalšou variáciou namodel-view-controller a Model-View-moderátor. Rovnako ako u týchto UI je rozdelené medzi názor, ktorý rukoväte displeja a ovládač, ktorý reaguje na gestá používateľov. významná zmena s pasívnym zobrazením je to, že pohľad je urobený úplne pasívne a už viac nezodpovedá na aktualizáciu samotného modelu. ako výsledok je celá logika zobrazenia ovládač. V dôsledku toho existuje žiadne závislosti v oboch smeroch medzi zobrazením a modelom.

Martin Fowler hovorí o tom v nad odkazom a stručne rozoberá ďalšie variácie tu.


1 pre odpoveď č. 2

Myslím, že skôr ako MVC, je to len VC, hm?;)

V implementáciách MVC sa zobrazenie objednávazmeny modelu a pôsobí na kontrolóra; ovládač robí zmeny modelu, ktoré sa šíria do pohľadov prostredníctvom ich odkazu na model. Vo vašom prípade to znie skôr, akoby ste model uložili do ovládača (koniec koncov, musíte svoje údaje odkiaľkoľvek získať); to nie je nevyhnutne zlé alebo čokoľvek, ale nie je to ani MVC v užšom slova zmysle.


0 pre odpoveď č. 3

Váš prístup sa zdá byť veľmi podobný MVP, ale bez ďalších podrobností by som to nemohol povedať.


0 pre odpoveď č. 4

V najprísnejšom zmysle nie. Má však ZPÔSOB na to, aby pohľad mohol komunikovať s modelom v prípade potreby bez zmeny architektúry / rozhrania?

[Napríklad, ak máte implementovanú metódu TalkToModel (), aj keď ju ešte nepoužívate, podľa môjho názoru je to MVC.]