Daniel Auger:
După cum au spus și alții, este posibil.
Cu toate acestea, dacă serviciul și serviciul
clientul utilizează un obiect care are
exact același comportament pe ambele domenii
părțile, probabil că nu ai nevoie de
serviciu în primul rând.
Lomax:
Trebuie să nu fiu de acord cu asta, deoarece este a
o observație îngustă. Folosind un
webservice care poate serializa domeniul
obiecte pentru xml înseamnă că o face
ușor pentru clienții care lucrează cu
aceleași obiecte de domeniu, dar înseamnă și ele
că acești clienți sunt limitați la
folosind acel serviciu web particular
pe care le-ați expus și de asemenea lucrează în
invers, permițând altor clienți să
nu aveți nicio cunoaștere a domeniului dvs.
obiecte, dar încă interacționează cu dvs.
serviciu prin XML.
@ Lomax: Ați descris două scenarii. Scenariul 1: Clientul reincarcă mesajul xml înapoi în obiectul exact același domeniu. Consider că aceasta este "returnarea unui obiect". Din experiența mea, aceasta este o alegere proastă și o voi explica mai jos. Scenariul 2: Clientul rehidratase mesajul xml în alt obiect decât același obiect de domeniu: Sunt 100% în spatele acestui lucru, cu toate acestea nu consider că acest lucru a returnat un obiect de domeniu. Este într-adevăr trimite un mesaj sau DTO.
Acum, permiteți-mi să vă explic de ce serializarea reală/pură/non-DTO a unui serviciu web este de obicei o idee proastă. O afirmație: pentru a face acest lucru în primul rând, trebuie fie să fii proprietarul clientului și al serviciului, fie să oferiți clientului o bibliotecă pe care să o folosească astfel încât să poată rehidrata obiectul înapoi în adevăratul său tip. Problema: Acest obiect de domeniu ca un tip există acum și aparține a două domenii semi-conexe. Cu timpul, este posibil ca comportamentele să fie adăugate într-un domeniu care nu are sens în celălalt domeniu, ceea ce duce la poluare și la probleme potențial dureroase.
De obicei, am implicit scenariul 2. Folosesc scenariul 1 numai atunci când există un motiv copleșitor pentru a face acest lucru.
Îmi cer scuze că am fost atât de tare cu răspunsul meu inițial. Sper că acest lucru clarifică până la un anumit grad în ceea ce privește opinia mea. Lomax, se pare că suntem pe jumătate de acord;).