2009-09-23 10 views
8

Czy dobrą praktyką jest odwoływanie się do mojej biblioteki aplikacji warstwy domeny aplikacji WWW do aplikacji usług WCF.Udostępnianie modelu domeny z usługą WCF

Robi to daje mi łatwy dostęp do już istniejących klas na moim modelu domeny tak, że nie będzie trzeba ponownie zdefiniować podobne zajęcia mają być używane przez usługę WCF

Z drugiej strony, I don” Podobnie jak sprzężenie, które tworzy między aplikacją a usługą i jestem ciekawy, czy może to spowodować trudności na dłuższą metę.

Uważam też, że posiadanie dedykowanych klas dla mojej aplikacji WCF byłoby bardziej efektywne, ponieważ te klasy będą zawierały tylko te, które będą używane przez usługę i nic więcej. Jeśli korzystam z klas z mojej warstwy domeny, w klasach będzie wiele pól, które nie będą używane przez usługę, a to spowoduje niepotrzebny transfer danych.

będę wdzięczny, jeśli możesz dać mi swoje myśli ze swojego doświadczenia

Odpowiedz

2

Osobiście źle patrzę na bezpośrednie przekazywanie obiektów domeny bezpośrednio przez WCF. Jak powiedział Krzysztof, chodzi o kontrakt danych, a nie umowę o zachowanie rzeczy, którą przechodzisz przez przewód.

I zazwyczaj to zrobić:

  • Zdefiniuj kontraktów danych w ich własnym zespole
  • Usługa ma odniesienie do obu umów danych montażowych i zespołów podmiotu gospodarczego.
  • Twórz metody rozszerzeń w obszarze nazw usług, które odwzorowują podmioty na odpowiadające im umowy danych i na odwrót.

Umieszczenie koncepcyjne czystości co „Dane Kontrakt” jest na bok, Jeśli zaczną przechodzić podmioty wokół konfigurowania udostępnionego podmiotowi pociągnął w różnych kierunkach projektowych przez obu stronach granicy WCF. Nieuchronnie skończysz z zachowaniami, które tylko należą do jednej strony, lub jeszcze gorzej - muszą ujawniać metody, które koncepcyjnie robią to samo, ale w inny sposób dla każdej strony granicy WCF. Może potencjalnie stać się bardzo niechlujny w dłuższej perspektywie.

+1

To jest idealne; czy miałbyś przykład lub widziałeś przykład tego zaimplementowanego (link, blog itp.)? Mam do wyboru kilka pytań, na które można odpowiedzieć, gdybym zobaczył mały przykład tego zastosowania. – atconway

4

Nie, to nie jest. Jednostki skupiają się na zachowaniu. dane umowa dotyczy wszystkiego ... danych. Poza tym, jak wspomniałeś, nie chciałbyś ich łączyć, ponieważ niedługo zmaleje zdolność reagowania na zmiany.

4

Dla tych, którzy jeszcze napotykając ten post, tak jak ja ....

Zamówienie to site. To dobre wytłumaczenie na ten temat.

Wniosek: Należy dołożyć starań, aby granice swojej architektury były jasne i czyste. Dostaniesz za to trochę pieniędzy;)

Powiązane problemy