Skip to content

Data Transfer Object

Un Data Transfer Object (DTO) es un patr贸n de dise帽o utilizado com煤nmente en el desarrollo de software para transferir datos entre subsistemas de una aplicaci贸n. Un DTO es un objeto simple que no contiene ninguna l贸gica de negocio, sino que se utiliza para encapsular y estructurar los datos. El uso de DTOs es particularmente 煤til en capas de servicio y API, donde se necesita transferir datos entre el cliente y el servidor o entre diferentes componentes del sistema.

En resumen, un DTO es una clase que contiene solo contiene las propiedades que necesita el cliente que (por ejemplo una vista) y no contiene ninguna l贸gica de negocio. Los DTOs son 煤tiles para transferir datos entre diferentes partes de una aplicaci贸n, como la capa de presentaci贸n y la capa de servicio, y pueden ayudar a reducir la cantidad de c贸digo duplicado y la complejidad de la aplicaci贸n.

Ejemplo

Consideremos un modelo de dominio Product en un sistema de comercio electr贸nico y c贸mo podr铆amos utilizar un DTO para transferir informaci贸n de producto.

final class Product
{
private ProductId $id
public function __construct(
private string $sku,
private Price $price,
private string $description
// Other properties...
) {
}
public function getPrice(): Price
{
return $this->price;
}
public function getDescription(): string
{
return $this->description;
}
// More logic methods...
}