Article View: alt.pl.comp.lang.csharp
Article #22277Re: Czy strongly typed model wystarczy? (MVC3)
From: Łukasz 'Maly' Ostrowski
Date: Thu, 27 Oct 2011 14:58
Date: Thu, 27 Oct 2011 14:58
33 lines
2121 bytes
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-mailReferences:
<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