Pregunta

Sé DTO es un objeto de transferencia de datos y un BO es un objeto de negocio. Pero, ¿qué significa realmente? Cuando debería elegir uno sobre el otro? De lo que yo entiendo DTO sólo se utiliza para transferir datos y no tiene lógica de negocio. ¿Significa esto que un DTO no tiene ningún método únicas propiedades (get y set)? Sin embargo, todavía tiene propiedades de un BO. Por favor alguien puede explicar? Gracias.

¿Fue útil?

Solución

DTO se utiliza para transferencia de datos entre capas / niveles. Para tal fin que no necesita ningún methos ya veces incluso no debería tener ningún método - por ejemplo, cuando se expone DTO sobre servicio web.

objeto

Business es objeto inteligente que contiene datos y métodos que lleva a cabo operaciones (cambio de datos) en este objeto. Cuando se expone a BO capa superior, se puede llamar a los métodos públicos de su objeto. A veces usted no quiere esto y por eso se crea DTO, que sólo ofrece datos, pero no los métodos.

DTO no tiene que transportar todos los datos BO. Cuando sigue el enfoque DTO estricta crear dtos específicos para cada operación expuesta en su capa de negocio. Por ejemplo, si el objeto tiene los datos de auditoría como CreatedBy, ModifiedBy, CreatedDate, etc., y que está creando el método Update incomming DTO (con objeto actualizado) no necesita tener estas propiedades porque la capa superior no puede modificarlos - La lógica puede único negocio .

Otros consejos

Generalmente, DTO tiene datos estáticos relativos para ese momento antes de que lleguen nivel, pero BO puede mantener dinámicamente estado y el valor de la bandera de flujo; y Bo también podría ser autónomo para tener la validación o lógicamente reorganización o juicio por alguna lógica de negocio; pero DTO 's cambio depende de tier' s modificación de los datos que pasaron por ... Pero, los cambios de Bo tiene un alcance más amplio, por ejemplo, depende de la actualización más dinámicamente con el estado de flujo de negocios, bandera 's cambio, incluso la identidad podría ser cambiado en tiempo real, esto supone que debe ser capturado y actuado para reflejar de BO, por ejemplo, como el equilibrio entre $ 200 a ser cero, o el balance de $ 2000 a $ 5000, entonces la identidad acuerdo / el comercio o el estado va a cambiar ... esto es gran diferencia entre DTO y BO.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top