DTO

By admin, 28-06-2010 23:45

DTO (Data Transfer Object) jest wzorcem projektowym służącym do przesyłania danych między aplikacjami bądź warstwami w jednej aplikacji.
Przeanalizujmy sobie następujący przykład:
Nasza aplikacja zbudowana jest w oparciu o popularny wzorzec MVC. W modelu, warstwa DAO tworzy nam proste obiekty POJO, którymi zarządza np. Hibernate. Naszym zadaniem jest przekazać wartości tych obiektów do widoku. Jednak z pewnych względów nie mamy ochoty przesyłać tam obiektów trwałych.
Z drugiej strony mamy formularz, którego pola utworzą nam kilka obiektów trwałych. W tym przypadku z pomocą przychodzi nam wzorzec DTO.
W skrócie polega ona na utworzeniu prostej klasy, która będzie zawierała wymagane przez nas pola (czy to te z formularza, czy te które chcemy wyświetlić na stronie). Następnie w kontrolerze, przy użyciu napisanego przez nas konwertera, zamieniamy daną klasę DTO na odpowiedni obiekt trwały lub w przeciwną stronę.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class UserDTO {
private String id;
private String name;
private String age;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}
...
}

Powyższy kod ukazuje nam fragment prostej klasy DTO, która zostanie utworzona z pól formularza. Zauważmy, że wszystkie pola są typu String, który możemy przekonwertować na odpowiednie typy podczas zamiany obiektu tej klasy na obiekt (bądź obiekty) trwały.
Jest to najprostsze zastosowanie, jednak stosowane bardzo często w rozbudowanych aplikacjach.

Panorama Theme by Themocracy Modified by Symolon