Data transfer object
15/1/09 15:00Это, пожалуй, будет статья.
Клиент-серверная архитектура плюс логика на клиенте и сервере плюс data persistence породили целое семейство потомков паттерна DTO.
Вот, к примеру:
Клиент-серверная архитектура плюс логика на клиенте и сервере плюс data persistence породили целое семейство потомков паттерна DTO.
Вот, к примеру:
- "Обычный" DTO: аки пчёлка, переносит данные между клиентом и сервером;
- Валидируемый (обычно GUI-шный) DTO - DTO, логика поведения/валидации которого вынесена во внешний (stateless) класс;
- "Недозаполненный" DTO -
- Identity-only DTO, который нужен только для проверки identity или equality - в таком достаточно заполнить поле id;
Например, на случай, когда можно передать только id объекта, а можно и готовый объект - когда у нас объекты не закэшированы, и вызываемый код может загрузить их сам, а может воспользоваться уже загруженными. - DTO как критерий поиска: это м.б. один DTO или пара DTO, если нужно задать интервал значений;
- Identity-only DTO, который нужен только для проверки identity или equality - в таком достаточно заполнить поле id;
- DTO как предок/интерфейс rich object-а с поведением. Может содержать внутри другой, "обычный" DTO, чтобы не дублировать группу полей.
Tags: