asp.net MVC – když Model není Model

Tak jsem si ve svém shrnutí diskuze o asp.net MVC pěkně naběhl, když jsem vyřkl následující větu: “Model představuje data k zobrazení”.

Při tomto výroku jsem myslel především na skutečnost, že je častou chybou představit si Model jako databázi a jako takový je potom znám ve View. V takovém případě pak má View přímý přístup k databázi, což se mi nelíbí a určitě bych toto nedělal a ani nemohu doporučit (na čemž jsme se v diskuzi shodli). Už jsem však nemyslel na pokročilé vývojáře, kteří dle definic znají pod pojmem Model aplikaci/služby a přitom dokáží svůj model připravit k využití v Controlleru tak i k zobrazení bez následků ve View.

Poté, co jsem si vše nechal uležet mi vše docvaklo a zjistil jsem, že pojmenování nebylo z mé strany úplně vhodné. Tudíž je na čase se omluvit.

Takže Model, tak jak je pojímán v definici MVC není skutečně tím Modelem, který jsem vyřkl v oné větě. Pro toto mé označení by se více hodilo označení ViewModel, tak jak je pojímáno v jedné z implementací MVC a to MVVM.

Pro příště se tedy budu držet terminologie, že View zná svůj ViewModel, to samé pak platí pro komunikaci směrem od Controlleru k ViewModelu. Pouze ViewModel pak ví o Modelu. A nesmím ještě zapomenout na propojení z Controlleru na View.

To jak se právě uvedeného propojení dá využít v psaní asp.net MVC aplikace se pokusím naznačit v příštím článku. A možná se mi tak podaří ukázat, že ono pověstné přidání komentářů může znamenat změnu jen jednoho místa v … a poté změnu samotných View, tak jako by to bylo nutné udělat ve WebForms.

analysis-sw-architecture
Posted by: Jarda Jirava
Last revised: 05 Jun, 2009 03:35 PM History

Comments

No comments yet. Be the first!

Your Comments

Used for your gravatar. Not required. Will not be public.
Posting code? Indent it by four spaces to make it look nice. Learn more about Markdown.

Preview