He estado tratando de concentrarme en DDD y en cómo se puede relacionar con MVC, pero estoy teniendo problemas con la identificación de entidades.Diseño impulsado por dominio, SOC y identificación de entidad
En particular, trato de mantener una separación estricta entre mi presentación, dominio y modelos de datos. Mi problema aquí es cómo conservo la identificación de entidades a través de estos límites. Para aclarar, estoy usando clases separadas para representar la misma entidad en diferentes contextos, por ejemplo, tengo una clase de dominio 'ShipmentRequest', varias clases de presentación 'ShipmentRequestView' (dependiendo de las propiedades requeridas por una vista particular) y una tabla de base de datos 'shipment_request' (mi modelo de datos).
Tengo ganas de usar una propiedad 'ID' (como ShipmentRequestId) sería una violación de la separación que estoy tratando de lograr, ya que esta propiedad de ID es una preocupación de la base de datos, y no una preocupación de dominio; y no quiero pasar el mismo objeto entre capas, ya que esto significaría pasar datos innecesarios a mi capa de presentación.
¿Cómo puedo preservar esta separación, y aun así rastrear la identidad entre estas capas?
Si una Persona no es una entidad, ¿qué es? No puede ser un objeto de valor: más de una persona física puede tener el mismo nombre y otras estadísticas. Independientemente de que use Person como ejemplo, no representativo del dominio en el que realmente estoy trabajando. –
Dicho esto, su punto sobre el contexto es importante. Gracias. =) –
La persona se utiliza a menudo como ejemplo estándar que las personas usan, pero creo que es un mal ejemplo porque no hay contexto. –