I opracowali aplikację z następujących warstw: warstwy dostępugdzie obsłużyć DTO <-> firma konwersja obiektu
- dane oparte na Fluent NHibernate
- reguł biznesowych warstwa
- aktywność (bardziej abstrakcyjnych niż reguł biznesowych i użyj pewnych reguł biznesowych). Warstwa usługi oparta na WCF, która wysyła niektóre DTO do świata zewnętrznego i odbiera DTO.
Jeśli po jakimś czasie otrzymałem DTO, mogę odwzorować DTO na obiekty biznesowe w warstwie usług i skonfigurować aplikację do pracy z obiektami biznesowymi. w takim przypadku, gdy wykonywane są pewne funkcje w niższych warstwach, nic nie wie o starym obiekcie, więc trudno jest obsłużyć i zweryfikować zmianę stanu, a także występuje eksplozja klasy dla adapterów DTO. z drugiej strony, jeśli dto jest mapowane do obiektu biznesowego na wyższych warstwach, gdy spadło, dolne warstwy nie wiedziały nic o nazwie usługi, więc nie mogą nie wiedzieć, w jaki sposób to dto musi zmienić obiekty biznesowe (1 DTO może być używane przez różne usługi na różne sposoby)
, więc pytanie brzmi, jakie jest prawdziwe rozwiązanie?
Czy możesz pokazać trochę kodu? Na przykład: Jak nazywa się jedna z metod usługi WCF? Jak nazywa się odpowiednia metoda/klasa w warstwie biznesowej? Jaki jest przykład funkcji w niższych warstwach? – Halvard