2010-01-28 15 views
9

Nuestro equipo es bastante nuevo en DDD, y estamos tratando de implementar algunos de los conceptos en nuestro proyecto actual. Una pregunta que ha surgido es si poner métodos en objetos de entidades u objetos de servicio.métodos en entidades DDD contra servicios

Algunos miembros del equipo consideran que las entidades solo deben contener valores y toda la funcionalidad debe estar contenida en los servicios. Otros sienten que esto hace que la entidad se vuelva anémica, y que debe mantener la funcionalidad que se relaciona con la entidad, mientras que los objetos de servicio deben ser utilizados para una mayor funcionalidad transversal.

Nos preguntamos cuál es el punto de vista oficial de DDD sobre esto, así como también lo que ha funcionado para las personas en la vida real.

Respuesta

7

No hay un punto de vista formal para DDD, pero el propósito de un rico modelo de Domaim es evitar un Anemic Domain Model, por lo que rehusarse explícitamente a poner cualquier comportamiento en los objetos de dominio va en contra de su espíritu.

Una escuela de pensamiento sostiene que los objetos de dominio deben ser POCO/POJO, lo que significa que no deben contener servicios abstractos como miembros. Sin embargo, eso no significa que no puedan tener métodos que interactúen con tales servicios.

Cuanto más (relevante) sea el comportamiento que pueda dar a cada objeto de dominio, mejor.

Cuestiones relacionadas