🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #22277

Re: Czy strongly typed model wystarczy? (MVC3)

#22277
From: Łukasz 'Maly' Ostrowski
Date: Thu, 27 Oct 2011 14:58
33 lines
2121 bytes
On Thu, 27 Oct 2011 14:18:11 +0000, KO wrote:
> Mój problem:
> Mam model powiedzmy:
> Order: OrderNo, OrderType, Description......
> 
> Mam widok do tworzenia zamówienia - przywiązany do tego modelu.
> Użytkownik powinien wybrać OrderType z listy dostępnych typów, skąd mam
> wziąść te wartości widoku nie używając ViewRzeczy?
> Wsadzanie wszystkich istniejących OrderTypów do typu Order nie ma sensu
> IMO.
> Jest na to jakiś elegancki pattern czy jednak ViewCoś?

Ten pattern się nazywa View Model :).

View Model != Domain Model. Wiemy i rozumiemy, że bardzo wygodnie
posługiwać się Domain Modelem jako View Modelem, ale jest to
"bad practice", nie będę przywoływał źródeł, bo mi się nie chce :).

Czyli, w widokach operujesz na OrderViewModel, nie na Order.
Tenże VM jest specjalizowany do tego widoku, czyli oprócz
podstawowych pół bezpośrednio z Order(dziedziczonych na 
przykład), ciągnie ze sobą jeszcze meta dane w postaci
kolekcji wszystkich OrderType'ów i wszelkie inne pomocnicze
rzeczy jakich wymaga ten widok.

A do przepisywania wartości pomiedzy VM a Domeną, można naprzykład
użyć narzędzi podobnych do AutoMappera.

*pac* "wziąć" ;-).

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Technical Details
Message-ID: <18lvmexxkro5k$.1cilnq1iuru1s$.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <1q6fskehnqc9r.a8ujskidd6x7.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: Czy strongly typed model wystarczy? (MVC3)
Date: Thu, 27 Oct 2011 16:58:21 +0200
Organization: Acme
Lines: 33
Message-ID: <18lvmexxkro5k$.1cilnq1iuru1s$.dlg@40tude.net>
References: <1q6fskehnqc9r.a8ujskidd6x7.dlg@40tude.net>
NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1319727504 17015 78.9.71.129 (27 Oct 2011 14:58:24 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 27 Oct 2011 14:58:24 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit