Gmail Kalender Dokument Reader Nätet mer »
Nyligen besökta grupper | Hjälp | Logga in
Startsida för Google-grupper
Silverlight, DTO, DDD
Det är för många ämnen i denna grupp som visas först. För att visa detta ämne först, så måste inställningen tas bort från något annat ämne.
Det uppstod ett fel när din begäran skulle bearbetas. Försök igen.
flagga
  Meddelande 1 - 25 av 44 - Komprimera alla  -  Översätt allt till Översatt (visa alla ursprungstexter)   Nyare >
Gruppen som du skickar meddelanden till är en Usenet-grupp. Meddelanden som skickas till den här gruppen gör ditt mail synligt för alla på Internet.
Ditt svarsmeddelande har inte skickats.
Ditt meddelande har publicerats
 
Från:
Till:
Kopia:
Uppföljning på:
Lägg till kopia | Lägg till uppföljning | Redigera ämne
Ämne:
Validering:
Av verifieringsskäl ber vi dig att skriva in de bokstäver du ser i bilden nedan eller de siffror som du hör om du klickar på tillgänglighetsikonen. Lyssna och skriv talen du hör
 
Niclas Pehrsson  
Visa profil  
 Fler alternativ 21 Jan, 20:59
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Thu, 21 Jan 2010 11:59:43 -0800 (PST)
Lokalt: Tor 21 Jan 2010 20:59
Ämne: Silverlight, DTO, DDD
Tja första gången jag skriver i ALT.NET gruppen känns bra har följ
gruppen ett tag.

Jo vi skall hoppa in på Silverlight spåret på jobbet och har tidigare
jobbat mer med WPF&ClickOnce&WCF men nu blir det silverlight.

Som rubriken säger så undrar jag hur man på bästa sätt konverterar DTO
objekten på Silverlight klienten men även också åt andra hållet på WCF
servicen till DDD objekt.

Tidigare har vi haft lyxen med WPF som har fullt stöd för reflection
som inte Silverlight har kunnat skicka över våra DDD objekt exakt som
dom ser ut utan att behöva tänka på att alla properties måste ha Get;
Set eller vara publika osv. Nu med silverlight så känns det som att
det inte går längre eftersom reflectionbegränsningen gör att vi inte
kan använda oss av den metodiken.

Så hur skall vi gå tillväga??

Ha get; set; properties på alla dataparameterar är helt uteslutet.

Jag har några approacher men i varje approach så måste domänmodellen
känna till DTO:n vilket är tråkigt men vi kanske inte undkommer det?

Man skulle visserligen kunna skicka in dto:n i konstruktorn och låta
den sätta alla medlemsvariabler.
Ha en internal metod som tar emot dto:n isf känns alternativ 1 bättre.

Eller finns det någon riktigt bra lösning på detta?


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 21 Jan, 21:40
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Thu, 21 Jan 2010 21:40:58 +0100
Lokalt: Tor 21 Jan 2010 21:40
Ämne: Re: Silverlight, DTO, DDD
Spontant så tror jag att det är AutoMapper som skulle passa bäst men jag är osäker på om den funkar i silverlight.

/Andreas

________________________

On 2010-01-21 21:25:25 +0100 Niclas Pehrsson <pehrs...@gmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Fredrik Normén  
Visa profil  
 Fler alternativ 21 Jan, 21:47
Från: Fredrik Normén <fnor...@hotmail.com>
Datum: Thu, 21 Jan 2010 21:47:00 +0100
Ämne: Re: Silverlight, DTO, DDD
Kör med MVVM på klienten.. skicka DTOer mellan client och server.. Ta mot
DTOer, och i ditt service lager kan du köra med AutoMapper för att
underlätta mappning.

Aspen projektet tillsammans med MS kommer att göra precis det, eller den gör
det idag men har inte hunnit blogga om det.. här är min senate post:

http://weblogs.asp.net/fredriknormen/archive/2010/01/17/aspen-a-sampl...

Jag har dock gjort en hel del ändringar i koden men det kommer en Blog post
om det snart också.

Mvh Fredrik Normén
Microsft MVP - ASP Insiders

weblogs.asp.net
twitter.com/fredrikn

--------------------------------------------------
From: "Andreas Öhlund" <andreas_ohl...@hotmail.com>
Sent: Thursday, January 21, 2010 9:40 PM
To: <sweden-altnet@googlegroups.com>
Subject: Re: Silverlight, DTO, DDD


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 21 Jan, 22:03
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Thu, 21 Jan 2010 13:03:57 -0800 (PST)
Lokalt: Tor 21 Jan 2010 22:03
Ämne: Re: Silverlight, DTO, DDD
Problemet med att en Automapper inte löser mina program, det jag
trycker på ovan är att jag absolut inte vill ha get; set
funktionalitet på alla medlemsvariabler.
Visa variabler vill jag inte att man ändrar via en property utan skall
räknas ut eller sättas via en metod.

Säg t.ex. att mitt objekt har en Id eller Artikelnummer property, den
propertyn bör det enbart sitta set på för den ska aldrig ändras.
Men med automapper så fungerar ju inte det.

Därför söker jag andra lösningar. Jag vill inte heller att all logik
skall avgöras av min viewmodel då den enligt mig inte skall ha
affärslogik som att räkna ut vad slutsumman blir på antalet
fakturarader t.ex. det är funktionalitet jag vill kunna ha i en
entitet som viewmodel arbetar mot.

On 21 Jan, 21:47, Fredrik Normén <fnor...@hotmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 22 Jan, 09:17
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Fri, 22 Jan 2010 08:17:50 +0000
Lokalt: Fre 22 Jan 2010 09:17
Ämne: RE: Silverlight, DTO, DDD

> trycker på ovan är att jag absolut inte vill ha get; set> funktionalitet på alla medlemsvariabler.> Visa variabler vill jag inte att man ändrar via en property utan skall> räknas ut eller sättas via en metod.Det låter som om det är en hybrid mellan DTO:er och domän object du skickar mellan client och server. DTO:er skall inte innehålla nått beteende så renodlade sådana blir bara ett class med en massa auto properties på. Ie helt ok med get;set;
> Säg t.ex. att mitt objekt har en Id eller Artikelnummer property, den> propertyn bör det enbart sitta set på för den ska aldrig ändras.> Men med automapper så fungerar ju inte det.Automapper används bara för att mappa från domän till DTO. Jimmy Bogard förklarar detta i en podcast på elegant code:http://elegantcode.com/2009/10/29/code-cast-33-jimmy-bogard-on-automa...

Att mappa från andra håller funkar rätt dåligt då DTO:er ofta bara är ett subset av all data som domänobjektet innehåller. Det gör att man ofta måste använda nått form av "repository" för att först ladda domänobjektet och sedan lägga på den data som DTO:n innehåller. Jag brukar försöka lösa det så att när gui vill uppdatera så skickar det ett "Command"(det är ju egentligen oxå en DTO men jag jag tycker att det är enklare att tänka så :)  ) till servicelagret som:
1. Validerar datat2. Laddar de ev domänobjekt som är inblandande och uppdaterar datat3. Skapar ev. nya domänobjekt (med data från mitt command + ev. defaults)4. Sparar på något sätt
Exempel:
På client:
wcf/nservicebus/masstransit/whatever.Send(new UpdateCustomerStatusCommand ...)
På server
public class UpdateCustomerStatusHandler: IHandleMessage< UpdateCustomerStatusCommand >{
   public Handle(UpdateCustomerStatusCommand command)  {
      var customerToUpdate =repository.Get<Customer>(command.CustomerId);
      customerToUpdate.ChangeStatus( command.NewStatus);
      repository.Update(customerToUpdate);  }}

/Andreas
http://andreasohlund.blogspot.com

http://twitter.com/andreasohlund

_________________________________________________________________
Windows Live: Make it easier for your friends to see what you’re up to on Facebook.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-act...

    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 22 Jan, 09:59
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Fri, 22 Jan 2010 00:59:30 -0800 (PST)
Lokalt: Fre 22 Jan 2010 09:59
Ämne: Re: Silverlight, DTO, DDD
Jo men jag vill knappast anropa mitt servicelager (WCF) för att räkna
ut vad totalsumman på min faktura blir när jag lägger till en
fakturarad t.ex.
Jag vill inte att alla beräkningar skall ligga på serversidan.
Totalsumman kommer jag inte att skicka över sedan eftersom det är
något som räknas ut, men jag vill att användaren skall kunna se
totalsumman direkt när raden är tillagd utan ett serviceanrop.

On 22 Jan, 09:17, Andreas Öhlund <andreas_ohl...@hotmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 22 Jan, 10:27
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Fri, 22 Jan 2010 10:27:34 +0100
Lokalt: Fre 22 Jan 2010 10:27
Ämne: Re: Silverlight, DTO, DDD
Kan du inte lägga den logiken i en class som du delar mellan client och server? Ie

var orderTotal = priceCalculator.CalculateTotalFor(order);

Den här typen av beräkningar bör oftast inte ligga på Order då den ofta är beroende av moms, valutakurser, rabattberäkningar etc.

/Andreas

________________________

On 2010-01-22 10:04:09 +0100 Niclas Pehrsson <pehrs...@gmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 22 Jan, 10:33
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Fri, 22 Jan 2010 01:33:04 -0800 (PST)
Lokalt: Fre 22 Jan 2010 10:33
Ämne: Re: Silverlight, DTO, DDD
Jo det är en lösning men knappast objektorienterat?
Jag vill ju ha mina objekt som

invoice.TotalPrice
invoice.TotalPriceVatIncluded
invoice.AddLine(article, quantity)

inte arbeta med dto:er

invoice.Lines.Add(new OrderLine(articlenumber, price, vat,.....)

där följande är möjligt.
invoice.Lines = new List();

Det känns som att hoppa ljusår bakåt i tiden.

On 22 Jan, 10:27, Andreas Öhlund <andreas_ohl...@hotmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 22 Jan, 10:34
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Fri, 22 Jan 2010 01:34:33 -0800 (PST)
Lokalt: Fre 22 Jan 2010 10:34
Ämne: Re: Silverlight, DTO, DDD
btw du har rätt om att beräkningslogiken skall kunna ligga på andra
ställen men jag vill att den skall kunna ligga i mitt objekt som jag
arbetar med.
För att förenkla och minska behovet av att skriva antalet kodrader.

On 22 Jan, 10:27, Andreas Öhlund <andreas_ohl...@hotmail.com> wrote:


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 22 Jan, 11:08
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Fri, 22 Jan 2010 10:08:33 +0000
Lokalt: Fre 22 Jan 2010 11:08
Ämne: RE: Silverlight, DTO, DDD

Det var inte min mening att framstå som anti OO. Jag syftade på att "calculate" metoder sällan bör ligga på domänklasserna. Eric Evans använder sig av termen Domain Services för att beskriva dessa "services" som kan användas för att utföra denna typ av "koordinerade logik". Anledningen är att du tex kanske måste slå mot en DB för att få valuta kurser innan du kan ge ett slutgiltigt pris etc etc. Alternativet till detta är att skicka in repositories etc till din calculate metod på order objektet. Men det blir fort stökigt!
Är inte problemet i ditt fall att du renderar ditt UI direkt mot de DTO:er som kommer från WCF?
Som Fredrik nämnde så är ett sätt att lösa detta att köra MVVM. Dvs skapa en ViewModel som du binder UI:t mot. På denna model kan du lägga en
public decimal OrderTotal   get return model.OrderLines.Sum(l=>l.Price);
I så fall använder du DTO:erna som din Model (sista M:et i MVVM), eller för att fylla denna modell med data.

/Andreas

http://andreasohlund.blogspot.com

http://twitter.com/andreasohlund

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
fnor...@hotmail.com  
Visa profil  
 Fler alternativ 22 Jan, 11:29
Från: <fnor...@hotmail.com>
Datum: Fri, 22 Jan 2010 11:29:31 +0100
Lokalt: Fre 22 Jan 2010 11:29
Ämne: Re: Silverlight, DTO, DDD

Note: Min svenska suger fett, så ni bara vet...

Det heter Model View ViewModel :P

DTOer är tillför att begränsa data och för att inte exponera business object över nätet. Läs gärna om DTO här:

http://weblogs.asp.net/fredriknormen/archive/2010/01/17/aspen-a-sampl...

Din Service är ett Service lager, ett fönster in till din business logik. Kör du med WCF så skapar du DTOer med hjälp av Datakontrakt, du ska inte låta dina domain entiteter bära på datakontrakts information. Skicka den data klienten behöver (Många anser att REST-Service är bäst för RIA, jag säger "det beror på"). På klienten har du en ViewModel. En modell skapad för att mappas till ditt UI och ska bära på komplex UI logic.. Som Andreas sa, ska du beräkna pris på klienten utan att du behöver göra server anrop, lägg då den logiken i ViewModel.. ska inte ligga på det objekt du skickar över nätet.. det är fortfarande bara data/message som du skickar inte ett "Object".

Den typ av business logik som ska finnas på klient har enbart med att få upp svarstider på UI.. och skapa en bra användarupplevelse, all annan logik ska placeras på servern.

Viss logik kommer att ligga både på server och klient. Denna logic ska gärna skrivas med samma språk för att underhåll ska bli så enkelt som möjligt. Med SL4 så kan .NET CLRn köra mot SL4 class lib (inte tvärt om). Så då blir det lättare att dela business logik på båda ställen i en enda komponent. Idag så får du ha det på två, eller köra med WCF RIA Services.

Jag vill bara säg att allt BEROR på! Det finns ingen Silver bullet och vissa saker som du kanske vill göra eller ska göra, blir onödigt komplex.. så väl den modell som passar dig och ditt business case bäst.

Mvh Fredrik Normén

From: Andreas Öhlund
Sent: Friday, January 22, 2010 11:08 AM
To: sweden-altnet@googlegroups.com
Subject: RE: Silverlight, DTO, DDD

Det var inte min mening att framstå som anti OO. Jag syftade på att "calculate" metoder sällan bör ligga på domänklasserna. Eric Evans använder sig av termen Domain Services för att beskriva dessa "services" som kan användas för att utföra denna typ av "koordinerade logik". Anledningen är att du tex kanske måste slå mot en DB för att få valuta kurser innan du kan ge ett slutgiltigt pris etc etc. Alternativet till detta är att skicka in repositories etc till din calculate metod på order objektet. Men det blir fort stökigt!

Är inte problemet i ditt fall att du renderar ditt UI direkt mot de DTO:er som kommer från WCF?

Som Fredrik nämnde så är ett sätt att lösa detta att köra MVVM. Dvs skapa en ViewModel som du binder UI:t mot. På denna model kan du lägga en

public decimal OrderTotal
   get return model.OrderLines.Sum(l=>l.Price);

I så fall använder du DTO:erna som din Model (sista M:et i MVVM), eller för att fylla denna modell med data.

/Andreas

http://andreasohlund.blogspot.com
http://twitter.com/andreasohlund

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Patrik Lowendahl  
Visa profil  
 Fler alternativ 22 Jan, 13:09
Från: Patrik Lowendahl <patrik.lowend...@gmail.com>
Datum: Fri, 22 Jan 2010 13:09:18 +0100
Lokalt: Fre 22 Jan 2010 13:09
Ämne: Re: Silverlight, DTO, DDD

Det vi har här är explicit tier bounderies. Man mår bra av att ha specifika
modeller för varje tier. Kommunikationen där imellan blir kan man sköta på
många olika sätt, DTO'er har vi nämnt, Fredrik var inne på REST. Men
gemensamt för allihopa är att kommunkationsmodellen är optimerad för att
flytta data över två olika tiers, medans modellerna i SL appen / backend är
optimerade för att lösa business cases. Två olika avändningsområden och
således två helt olika förhållningssätt.

Businessobjekten mår ju oftast bra av, som nämnts, att vara
objekt-orienterade. DTO'er mår sällan bra av OO där är försöker man ju
istället arbeta resurs-orienterat (REST) eller Meddelande-orienterat (SOA).

I ljuset av de funderingarna så blir translator-lager oftast nödvändiga,
automapper gör en massa gratis där men det finns ju möjlighet att skapa egna
translator lager som är speficika för just dina use-cases.

Det är ju också så att meddelande-orienterade lösningar (som man nog måste
säga att en SL / WCF lösning är) skall ha WCF gränssnitt som är väldigt
specifika för uppgiften. Det innebär ju bland annat att cancel order inte
behöver hela ordern med status cancel utan bara id't för den order som
backend skall cancellera. Det kan också innebära att GetProductList inte
returnerar en mängd med fulla aggregat rötter för Product utan bara det som
behövs för att lista produkter (namn, id kanske).

En förlängning av de här ideérna som man kan använda sig av är Udi's
funderingar runt Command Query separation på service-nivå. Vilket kort
betyder att för Query delen (presentation) så skapar man explicita modeller
för varje rapportering man vill göra och binder direkt till dem.
"Domänmodellen" används i princip bara för "Command" delen när affärslogik
skall utföras, och då oftast på backend.

Oavsett vilken "skola" man hänger på så är de grundläggande principerna för
distribuerade lösningar de samma, domainmodels på insidan, kommunikations
modeller på utsidan.

--
Patrik Löwendahl


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 22 Jan, 13:19
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Fri, 22 Jan 2010 12:19:53 +0000
Lokalt: Fre 22 Jan 2010 13:19
Ämne: RE: Silverlight, DTO, DDD

Håller fullständigt med Patrik! ( även om jag inte skulle likställa Meddelande-orienterat med SOA, vi får ta det över en öl nån gång :)
Tänkte bara tillägga att CQRS ala Udi Dahan finns mycket bra beskrivet här:(varmt rekommenderad läsning)
http://www.udidahan.com/2009/12/09/clarified-cqrs/

/Andreas

http://andreasohlund.blogspot.com

http://twitter.com/andreasohlund

Date: Fri, 22 Jan 2010 13:09:18 +0100
Subject: Re: Silverlight, DTO, DDD
From: patrik.lowend...@gmail.com
To: sweden-altnet@googlegroups.com

Det vi har här är explicit tier bounderies. Man mår bra av att ha specifika modeller för varje tier. Kommunikationen där imellan blir kan man sköta på många olika sätt, DTO'er har vi nämnt, Fredrik var inne på REST. Men gemensamt för allihopa är att kommunkationsmodellen är optimerad för att flytta data över två olika tiers, medans modellerna i SL appen / backend är optimerade för att lösa business cases. Två olika avändningsområden och således två helt olika förhållningssätt.

Businessobjekten mår ju oftast bra av, som nämnts, att vara objekt-orienterade. DTO'er mår sällan bra av OO där är försöker man ju istället arbeta resurs-orienterat (REST) eller Meddelande-orienterat (SOA).

I ljuset av de funderingarna så blir translator-lager oftast nödvändiga, automapper gör en massa gratis där men det finns ju möjlighet att skapa egna translator lager som är speficika för just dina use-cases.

Det är ju också så att meddelande-orienterade lösningar (som man nog måste säga att en SL / WCF lösning är) skall ha WCF gränssnitt som är väldigt specifika för uppgiften. Det innebär ju bland annat att cancel order inte behöver hela ordern med status cancel utan bara id't för den order som backend skall cancellera. Det kan också innebära att GetProductList inte returnerar en mängd med fulla aggregat rötter för Product utan bara det som behövs för att lista produkter (namn, id kanske).

En förlängning av de här ideérna som man kan använda sig av är Udi's funderingar runt Command Query separation på service-nivå. Vilket kort betyder att för Query delen (presentation) så skapar man explicita modeller för varje rapportering man vill göra och binder direkt till dem. "Domänmodellen" används i princip bara för "Command" delen när affärslogik skall utföras, och då oftast på backend.

Oavsett vilken "skola" man hänger på så är de grundläggande principerna för distribuerade lösningar de samma, domainmodels på insidan, kommunikations modeller på utsidan.

--
Patrik Löwendahl

--

Det här meddelandet skickas till dig eftersom du prenumererar på gruppen Sweden ALT.NET i Google Groups.

Om du vill göra ett inlägg i den här gruppen skickar du e-post till sweden-altnet@googlegroups.com.

Om du vill sluta prenumerera på den här gruppen skickar du e-post till sweden-altnet+unsubscribe@googlegroups.com.

För fler alternativ, besök gruppen på http://groups.google.com/group/sweden-altnet?hl=sv.

_________________________________________________________________
Windows Live Hotmail: Your friends can get your Facebook updates, right from Hotmail®.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-act...


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Torbjörn Kalin  
Visa profil  
 Fler alternativ 22 Jan, 16:49
Från: Torbjörn Kalin <tgoo...@kalin-urena.com>
Datum: Fri, 22 Jan 2010 16:49:00 +0100
Ämne: Re: Silverlight, DTO, DDD

Jag kan egentligen på tok för lite både om Silverlight och problematiken ni diskuterar för att lägga mig i, men...

Kan man inte likställa kommunikationen i WCF med den mot en databas? Dvs, kan man inte ha ett Repository på klienten som arbetar mot WCF på samma sätt som man jobbar mot sin ORM. Skicka över riktiga domänobjekt inklusive BL istället för dumma DTO:er. Och kanske även bygga en identity map på klientsidan som garanterar att endast en instans finns av varje entitet.

/T

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Patrik Lowendahl  
Visa profil  
 Fler alternativ 22 Jan, 16:51
Från: Patrik Lowendahl <patrik.lowend...@gmail.com>
Datum: Fri, 22 Jan 2010 16:51:54 +0100
Lokalt: Fre 22 Jan 2010 16:51
Ämne: Re: Silverlight, DTO, DDD

Jo, det är en vanlig och riktigt bra lösning.

Repositoryt bryr ju sig egentligen inte om vad "storage" är för något utan
är bara intresserat av att få ut BE objekt från någon annastans. Oftast
brukar det här inte vara just en "Repository" dock utan mer en "proxy" som
använder en translator på insidan.

--
Patrik

2010/1/22 Torbjörn Kalin <tgoo...@kalin-urena.com>

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Andreas Öhlund  
Visa profil  
 Fler alternativ 22 Jan, 17:27
Från: Andreas Öhlund <andreas_ohl...@hotmail.com>
Datum: Fri, 22 Jan 2010 16:27:23 +0000
Lokalt: Fre 22 Jan 2010 17:27
Ämne: RE: Silverlight, DTO, DDD

Japp det är en bra lösning så länge man hela tiden tänker på "the fallacies of distributed computing" så att man inte råkar ut för prestandaproblem etc på grund av att man skapar för finkorning wcf-tjänster som resulterar i för mycket trafik över nätverket.http://en.wikipedia.org/wiki/Fallacies_of_Distributed_ComputingPå svenska: Se till att inte skjuta dig själv i foten genom en massa for loopar som genererar för många anrop till servern :)/Andreas
http://andreasohlund.blogspot.com

http://twitter.com/andreasohlund

Date: Fri, 22 Jan 2010 16:51:54 +0100
Subject: Re: Silverlight, DTO, DDD
From: patrik.lowend...@gmail.com
To: sweden-altnet@googlegroups.com

Jo, det är en vanlig och riktigt bra lösning.

Repositoryt bryr ju sig egentligen inte om vad "storage" är för något utan är bara intresserat av att få ut BE objekt från någon annastans. Oftast brukar det här inte vara just en "Repository" dock utan mer en "proxy" som använder en translator på insidan.

--
Patrik

2010/1/22 Torbjörn Kalin <tgoo...@kalin-urena.com>

Jag kan egentligen på tok för lite både om Silverlight och problematiken ni diskuterar för att lägga mig i, men...

Kan man inte likställa kommunikationen i WCF med den mot en databas? Dvs, kan man inte ha ett Repository på klienten som arbetar mot WCF på samma sätt som man jobbar mot sin ORM. Skicka över riktiga domänobjekt inklusive BL istället för dumma DTO:er. Och kanske även bygga en identity map på klientsidan som garanterar att endast en instans finns av varje entitet.

/T

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Fredrik Normén  
Visa profil  
 Fler alternativ 22 Jan, 18:03
Från: Fredrik Normén <fnor...@hotmail.com>
Datum: Fri, 22 Jan 2010 18:03:24 +0100
Lokalt: Fre 22 Jan 2010 18:03
Ämne: Re: Silverlight, DTO, DDD

Det är väldigt vanligt att man vill bryta ut service anropen från ViewModel i något vissa kallar för Model och vissa för något helt annat.. Vad det handlar om är att kunna enkelt få bort beroenden till själva proxyn som anropar tjänsten. På så vis kan man också enklare testa sin ViewModel. Jag skulle inte vilja kalla det en Repository.. En kallade det för DataChannel. Så det namnet tog jag.. det blev:

View -> ViewModel -> IxxxxDataChannel -> Proxy <-> (DTO) <-> Service (Transform) -> Domain Model

Det viktiga är att se Silverlight som en RIA.. där man inte applicerar en domän model till på klientsidan, utan ser SL som Presentationslagret. När det kommer till SL OOB, då börjar vi prata mer om att använda SL till att skapa dekstop apps..

/Fredrik N

From: Torbjörn Kalin
Sent: Friday, January 22, 2010 4:49 PM
To: sweden-altnet@googlegroups.com
Subject: Re: Silverlight, DTO, DDD

Jag kan egentligen på tok för lite både om Silverlight och problematiken ni diskuterar för att lägga mig i, men...

Kan man inte likställa kommunikationen i WCF med den mot en databas? Dvs, kan man inte ha ett Repository på klienten som arbetar mot WCF på samma sätt som man jobbar mot sin ORM. Skicka över riktiga domänobjekt inklusive BL istället för dumma DTO:er. Och kanske även bygga en identity map på klientsidan som garanterar att endast en instans finns av varje entitet.

/T

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 22 Jan, 18:13
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Fri, 22 Jan 2010 09:13:57 -0800 (PST)
Lokalt: Fre 22 Jan 2010 18:13
Ämne: Re: Silverlight, DTO, DDD
Det är precis detta jag vill uppnå och som jag kan uppnå på ett enkelt
sätt, problemet är bara att vid överskickandet WCF till Silverlight så
finns det en begränsning som inte kan deserializera eller serialisera
ner objekt med privata listor och datatyper eftersom de behöver get;
set; och get set på allting vill jag inte ha i en domänmodell som jag
gärna skulle vilja dela mellan klient och servicelayer. Eftersom jag
som sagt inte vill fråga min service räkna ut totalpriset av min order
varje gång jag ändrar ett värde på en orderrad eller lägger till
något.Utan här vill jag kunna arbeta klart med ordern på klienten utan
att fråga servern om information hela tiden.

On 22 Jan, 16:51, Patrik Lowendahl <patrik.lowend...@gmail.com> wrote:

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Patrik Lowendahl  
Visa profil  
 Fler alternativ 23 Jan, 12:23
Från: Patrik Lowendahl <patrik.lowend...@gmail.com>
Datum: Sat, 23 Jan 2010 12:23:53 +0100
Lokalt: Lör 23 Jan 2010 12:23
Ämne: Re: Silverlight, DTO, DDD

Fast jag tror inte riktigt det jag försökte förklara gick fram, så jag
försöker igen.

Du kan absolut dela ditt BE library mellan klient och server om du vill,
äger du båda sidorna så är det ok. Men i kommunikationen mellan klient och
server är det inte BE objekten optimalt att serializera / deserializera utan
en bättre strategi är att designa service-gränssnitt som är specialiserade
för exakt den operation du vill utföra. Det innebär att man oftast mår bäst
av att skapa separata datakontrakt som är optimerade för just kommunikation
mellan server och klient och inte nödvändigtvis optimerade för att fånga
domänen. Just ditt scenario visar ju dessutom på behovet, inget är privat i
xml, vilket är det som skickas över tråden, men du vill dölja det faktumet i
din domänmodell.

Så tipset, lösningen och rekommendationen är att skapa särskilda DTO'er som
är specialdesignade för de operationer du vill utföra. Om du dessutom lägger
till Fredriks rekommendation om att du skall ha en presentationsmodell i SL
och inte den riktiga domänmodellen som istället borde bo bara på backend, så
blir rekommendationen tre olika modeller. En på backend, en för
wcf-gränsnitten och en för frontend.

 Att man vill ha en på frontend som fredrik föreslår, har många fördelar,
men de två som jag brukar lyfta fram är att man för det första inte kan veta
vilka funktioner i en domänmodell som är tänkta att användas på frontend
eller backend (du kommer ju åt dem på båda ställena) och för det andra så är
ju presentationen av modellen väldigt ofta skilt från att jobba med
affärslogik i modellen, det är ju två olika syften.

Sen är det ju också så att du kan ha privata medlemmar på backend som du
exponerar via datamember attributet, men SL kräver att de är publika på
frontend. Men det visste du så klart redan :)

--
Patrik

2010/1/22 Niclas Pehrsson <pehrs...@gmail.com>

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 23 Jan, 19:54
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Sat, 23 Jan 2010 10:54:27 -0800 (PST)
Lokalt: Lör 23 Jan 2010 19:54
Ämne: Re: Silverlight, DTO, DDD
Ja det jag är ute efter är att kunna dela mina BE på båda sidor, där
jag använder mig av ViewModel's på Silverlight för presentation.
Min fråga var just det jag skrev ovan, hur jag på ett smidigt sätt kan
skicka över datan och omvandla Entitet till DTO på servicen och
tvärtom på klienten.
Som jag beskriver i mitt första inlägg så går detta utmärkt utan att
ens behöva tänka på det i en WPF & WCF miljö om man sätter
[Serializeable] på objektet
så klarar WCF av att bara serializera ner mina fält som ligger på
objektet och sedan deserializera det på klienten. Dvs vid ett objekt
som ser ut följande.

private decimal _unitPrice;
private decimal _quantity

public decimal TotalPrice { get { return _unitPrice * _quantity; }}

Så skickas bara fälten över vilket är utmärkt när jag på andra sidan
kan få in datan i samma entitet. (läs mer här fungerar efter .NET 3.5
SP1 http://www.pluralsight.com/community/blogs/aaron/archive/2008/05/13/5...
, lite längre ner på sidan finns en summary det är alternativ 2 jag
syftar på där man inte behöver använda sig av attributes)

Men vid användning av Silverlight så fungerar inte Serializeable
p.g.a. dåligt stöd av reflection.

Men säg t.ex. här att _quantity bara går att ändra med en metod p.g.a.
olika kontroller eller what ever dvs man har ingen set property för
den.

Så min grundfråga hur får jag samma resultat som tidigare med DTO:er
utan att skräpa ner min domänmodell för mycket?
Är det en extra konstruktor på mitt objekt som tar emot DTO:n och
sätter värdena på sig själv och en metod som retunerar ungefär så som
ISerializeable interfacet fungerar?
Eller finns det trevligare lösningar?

On 23 Jan, 12:23, Patrik Lowendahl <patrik.lowend...@gmail.com> wrote:

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Fredrik Normén  
Visa profil   Översätt till Översatt (visa ursprungstexten)
 Fler alternativ 23 Jan, 19:58
Från: Fredrik Normén <fnor...@hotmail.com>
Datum: Sat, 23 Jan 2010 19:58:52 +0100
Lokalt: Lör 23 Jan 2010 19:58
Ämne: Re: Silverlight, DTO, DDD
I WCF skapar du ett datakontrakt.. detta r din DTO

I din WCF Service s mappar du din Entites mot detta datakontrakt innan du
returnerar det..

Tex:

public IEnumerable<MemberDto> GetMembers()
    {
        var members = _memberRepository.GetAll();

        return members.Select( m =>
                             {
                                return new MemberDto()
                                {
                                      ID = m.ID,
                                      FirstName = m.FirstName,
                                      LastName = m.LastName
                                };
                             });
    }

AutoMapper kan hj lpa dig med mappningen..

Lite mer info om DTO:
"My First Law of Distributed Object Design: Don't distribute your objects" -
Martin Fowler (P of EAA)

"Objects have been around for a while, and sometimes it seems that ever
since they were created, folks have wanted to distribute them. However,
distribution of objects, or indeed of anything else, has a lot more pitfalls
than many people realize, especially when they're under the influence of
vendors' cozy brochures." - Martin Fowler
(http://www.ddj.com/architect/184414966)

Instead of sharing a single entity implementation between the mid-tier and
the client, we can create a custom object (DTO) that is only used for
passing data over the wire. Most entities in our domain model is not often
designed with distribution in mind. Using DTO have two main benefits
regarding to Daniel Simmons (Architect on the Entity Framework team at
Microsoft):

"It isolates your service contract from implementation issues on the
mid-tier and the client, allowing that contract to remain stable even if the
implementation on the tiers changes, and it allows you to control what data
flows over the wire. Therefore, you can avoid sending unnecessary data (or
data the client is not allowed to access) or reshape the data to make it
more convenient for the service. Generally, the service contract is designed
with the client scenarios in mind so that the data can be reshaped between
the mid-tier entities and the DTOs (maybe by combining multiple entities
into one DTO and skipping properties not needed on the client), while the
DTOs can be used directly on the client.

These benefits, however, come at the price of having to create and maintain
one or two more layers of objects and mapping." - Daniel Simmons (Building
N-Tier Apps with EF4)

/Fredrik Norm n

--------------------------------------------------
From: "Niclas Pehrsson" <pehrs...@gmail.com>
Sent: Saturday, January 23, 2010 7:54 PM
To: "Sweden ALT.NET" <sweden-altnet@googlegroups.com>
Subject: Re: Silverlight, DTO, DDD

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 24 Jan, 00:24
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Sat, 23 Jan 2010 15:24:42 -0800 (PST)
Lokalt: Sön 24 Jan 2010 00:24
Ämne: Re: Silverlight, DTO, DDD
Jo jag känner till hans lag hehe.. och dom två saker som listas mot
benefits anser jag inte väga över det jobbiga med att underhålla
mappningen.
Jo så långt är jag med hur du gör det till DTO problemet är hur du
förvandlar DTO'n till entitet sedan på klienten.
Om du lästen länken jag skickade med ovan så behöver man inte skapa
någon DTO eller tillbaka det sker i bakgrunden.
Så jag undrar om det finns något liknande tillvägagångsätt för
Silverlight då det är spärrat p.g.a. sandboxen som omöjligör
användandet av [Serializeable].

On 23 Jan, 19:58, Fredrik Normén <fnor...@hotmail.com> wrote:

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Fredrik Normén  
Visa profil  
 Fler alternativ 24 Jan, 09:31
Från: Fredrik Normén <fnor...@hotmail.com>
Datum: Sun, 24 Jan 2010 09:31:03 +0100
Lokalt: Sön 24 Jan 2010 09:31
Ämne: Re: Silverlight, DTO, DDD
Om du vill exponera ut dina domain entiteter ver n tet s ta en titt p WCF
RIA Services, l ter som det passar dig perfekt :)

Jag har under m nga r byggt stora enterprisel sningar s som B2B,
fraktsystem etc. Har aldrig uppfattat mappningen som ett underh llsproblem.
Jag har iofs inte varit med i dom projekt du har varit och r med i, d r
problemet verkligen har uppst tt med underh ll av mappning efter produktion.
Men jag vill nd p st att du "kan" ven f underh llsproblem (tom med
v rre i vissa scenarion) utan DTOer, pga att du skickar dina entiteter hela
v gen upp till presentationslagret d r mappningen mellan entiten och vyn
sker.

1) T nk dig f ljande. Du har en entitet med FirstName och LastName. Du
skickar denna till vyn, du ska i vyn visa FullName. S du ser till s vyn
tar FirstName och LastName och sl r ihop dom. Dett sker p flertal vyer och
heltpl tsligt s har du duplicerat kod p flera st llen n ett.

2) Du m ste nu i dom nmodellen l gga till MiddleName, s du g r det. Vyerna
m ste nu ven ta med MiddleName, s dina FullName ska uppdateras. Du f r nu
g in p flera vyer och g ra denna ndring.

3) Av n gon annledning s ska nu LastName inte visas p vyn, utan bara
FirstName och MiddleName. Nu m ste du g in i alla dina vyer och ndra
FullName till att ta FirstName och MiddleName.

Om du skapade en DTO ist llet s har den egenskapen FullName. I din mappning
p server-sidan kan du se till att FullName inneh ller FirstName och
LastName. Du har nu inte duplicerat koden p flera st llen och alla vyer g r
nu mot DTOns FullName. Sedan n r ndring sker i dom nmodellen som i steg 2
och 3, s har du ett st lle att ndra och beh ver inte g in i dina vyer.

Ett annat scenario:

1) Du har en DTO som visar FullName och LastName, din dom n entitet har
FullName och LastName. Nu s ndras dom nmodellen s att LastName byter namn
till SureName. Nu m ste du in i mappningen och ndra. I detta fall beh ver
du inte ndra i vyn och kan l ta din DTO ha egenskapen LastName f r den bryr
sig inte om namnbytet (om det inte r ett m ste, d f r du mer jobb).

2) Om du nu skikade din dom nmodell till Vyn, och denna f r ndring sker, s
m ste du uppdatera alla vyer som mappar mot LastName till att mappa mot
SureName, det r mer jobb n att ndra en liten mappning p server-sidan.

Ett annat scenario:

1) Du har en DTO som visar FullName och LastName. Din dom nmodell har samma
egenskaper. Nu s tillkommer MiddleName i dom nmodellen. Dina vyer ska nu
visa MiddelName ocks . S du m ste uppdatera alla vyer att visa MiddleName
och sedan se till att uppdatera din mappning mellan dom nmodellen och DTOn,
h r kommer du tyv rr f br nna n gra extra kalorier ;) Men med AutoMapper s
kan du slippa bry dig om denna mappning, men du m ste ndra din DTO och
l gga till MiddleName.

Som du ser s m ngden underh ll har med vad f r typ av ndring som sker
oftast. Utan DTOer kan inneb rar mer underh ll, men kan ven med DTOer
inneb ra mer underh ll. Det du kan garanterat veta, r att du med DTOer
begr nsar risken f r prestandaproblem, samt f retag som k r in the cloud kan
ven spara tusentalskornor pga att de inte beh ver betala f r on dig m ngd
data. r det en intranetl sning som ligger lokalt, s skulle jag kanske inte
bry mig om DTOer lika mycket som om det r en publik eller
enterprisel sning.

Mvh Fredrik Norm n

--------------------------------------------------
From: "Niclas Pehrsson" <pehrs...@gmail.com>
Sent: Sunday, January 24, 2010 12:24 AM
To: "Sweden ALT.NET" <sweden-altnet@googlegroups.com>
Subject: Re: Silverlight, DTO, DDD

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Niclas Pehrsson  
Visa profil  
 Fler alternativ 24 Jan, 10:32
Från: Niclas Pehrsson <pehrs...@gmail.com>
Datum: Sun, 24 Jan 2010 01:32:57 -0800 (PST)
Lokalt: Sön 24 Jan 2010 10:32
Ämne: Re: Silverlight, DTO, DDD
Nja jag tror inte jag kommer att ha det problemet.
Logiken för att sätta ihop first name och lastname ligger på entiteten
t.ex. en Name klass som enteteten som innehåller namnet har kan se ut
följande.

public class Name
{
public string First { get; set; }
public string Last { get; set; }

public string Full { get { return string.format("{0} {1}", First,
Last); }

}

Jag knyter mina entiteter mot ViewModels så byts ett namn i min DDD
entitet så bör den även med ett bra refaktoreringsverktyg även bytas i
min viewmodel som håller korrekt bindning mot viewn i Silverlight.

Mina huvudproblem med DTO'er är att jag måste lägga all logik på
servern vilket jag inte vill, jag vill inte belasta servern med att
behöva räkna om t.ex. fakturans totalpris vid minsta ändring på
fakturan utan låta vyn kunna göra detta.. Därför vill jag ha shared
libaries som sagt. men detta går inte då Silverlight inte stödjer
Serializeable så att man kan inte vid överskickandet använda sig av
privata properties eller privata fält som inte exposas av klassens
kontrakt. Så min fråga finns det några sjysta lösningar på det
problemet. automapper går  bort  då den inte kan sätta privata fält
som kanske inte exposas via klassens publika kontrakt. (obs jag vill
absolut inte använda mig av DataContract, DataMember attribut i
domänmodellen). Kolla länken:
http://www.google.com/url?sa=D&q=http://www.pluralsight.com/community...
på alternativ 2 i summaryn det är vad jag vill åstakomma.

On 24 Jan, 09:31, Fredrik Normén <fnor...@hotmail.com> wrote:

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Fredrik Normén  
Visa profil  
 Fler alternativ 24 Jan, 10:40
Från: Fredrik Normén <fnor...@hotmail.com>
Datum: Sun, 24 Jan 2010 10:40:47 +0100
Lokalt: Sön 24 Jan 2010 10:40
Ämne: Re: Silverlight, DTO, DDD
Du vill ju inte ha Full i dom nmodellen om det inte kr vs.. plottra dom nen
pga vyn, inte att f redra.. och helt on digt.. dom nmodellen designas utan
en vy "in mind".

Men du beh ver inte l gg all logik p servern f r att du k r med DTO, DTO
b r bara p datan som ska skickas mellan server och klient. Du kan r kna ut
priset i vyn, det r det du har en ViewModel till..

SLs serialisering har get och set publika, s du f r leva med det.

Ett alternativ r att du tar en titt p WCF RIA Services som jag n mnde
innan, d r kan du exponera dina entiteter och du kan ven ha logic shared.

Mvh Fredrik N

--------------------------------------------------
From: "Niclas Pehrsson" <pehrs...@gmail.com>
Sent: Sunday, January 24, 2010 10:32 AM
To: "Sweden ALT.NET" <sweden-altnet@googlegroups.com>
Subject: Re: Silverlight, DTO, DDD

...

läs mer »


    Vidarebefordra  
Du måste Logga in innan du kan skicka meddelanden.
Om du vill skicka ett meddelande måste du först delta i den här gruppen.
Uppdatera ditt smeknamn på sidan Prenumerationsinställningar innan du skickar.
Du har inte behörighet att skicka meddelanden.
Meddelande 1 - 25 av 44   Nyare >
« Tillbaka till diskussioner « Nyare ämnen     Äldre ämnen »

Skapa en grupp - Google-grupper - Googles startsida - Användarvillkor - Sekretesspolicy
©2010 Google