Jaka jest różnica między obiektem modelu MVC, obiektem domeny i DTO?Jaka jest różnica między obiektem modelu MVC, obiektem domeny a DTO
Moje rozumienie jest:
MVC model obiektowy:
modeluje dane mają być wyświetlane przez odpowiedniego widoku. Jako taki może nie mapować bezpośrednio do obiektu domeny, tj. Może zawierać dane z jednego lub większej liczby obiektów domeny.
- po stronie klienta
- Może zawierać logiki biznesowej, na przykład walidacji, obliczone właściwości itp
- Brak Trwałość podobne metody
obiekt domeny:
Object że modele prawdziwy obiekt świat w domenie problem jak Reservation, klienta, zlecenia, itp Służy do ustąpi dane .
- stronie serwera
- nr logiczny obiekt
DTO (obiektem przekazywania danych)
obiektu wykorzystywany do przesyłania danych pomiędzy warstwami, gdy warstwy są w oddzielnych procesach, np od DB do aplikacji klienckiej. Umożliwia pojedynczą transakcję przez cały przewód, a nie wiele połączeń. DTO zawiera tylko dane i metody dostępu, bez logiki. Dane dotyczą konkretnej transakcji bazy danych, więc nie mogą bezpośrednio przejść do obiektu domeny, tj. Mogą zawierać dane z jednego lub większej liczby obiektów domeny.
- Używane po obu stronach, jak przeszedł między warstwami
- Brak logiki biznesowej
- Nie związane Trwałość Metody
więc do pytania:
(1) Czy moje rozumienie jest poprawne? Czy brakuje mi kluczowych punktów?
(2) Czy istnieją jakieś powody, dla których nie należy używać obiektów domen jako modelu MVC, zakładając, że obiekty modelu nie wymagają dodatkowej logiki biznesowej?
(3) Czy istnieją jakieś powody, aby nie używać DTO jako Modelu MVC zakładając, że obiekty Modelu nie wymagają dodatkowej logiki biznesowej?
Dzięki.
Tim
Dobre pytanie .. +1 – nawfal