2010-01-23 4 views
2

Je me demandais comment vous utilisez votre modèle ddd dans une application web. Dans l'application Eric Evan Cargo, il y a le Cargo class qui contient l'objet de valeur Itinerary. Dans l'itinéraire est une collection de Legs, encore une fois un objet de valeur. Tous les objets de valeur cachent l'identifiant de substitution au monde extérieur. Ainsi, lorsque j'utilise ce modèle de domaine, comment créer une application Web, où vous pouvez cliquer sur un itinéraire de fret, lister toutes les étapes, puis afficher les détails d'une étape en redirigeant vers une nouvelle page. Habituellement je passerais le LegId dans les champs de requête et le relirais sur la page de détail. Mais puisqu'il n'a pas d'identifiant, comment feriez-vous cela?Domain Driven Design - Comment utiliser l'objet valeur sur l'interface utilisateur

Utilisation de l'index d'une jambe qui peut changer lorsque la collection est triée?

Passer toutes les valeurs dans les champs de requête, puisqu'il s'agit de l'identité de l'objet valeur?

sonne comme un pas en arrière pour moi :)

Répondre

1

Si la jambe n'a pas d'identité, la seule façon que vous devez référer est par la cargaison, qui a une identité, et peut donc être associé à une URI/URL. Pour faire référence à une branche spécifique, vous n'avez que l'index, qui peut être un nombre, ou une clé de dictionnaire. Si vous avez des problèmes de tri, vous pouvez définir deux listes: une avec l'ordre canonique à titre de référence, et l'autre avec l'ordre, la position de l'ordre de mappage et l'index canonique. En ce qui concerne la raison pour laquelle les objets de valeur dans l'exemple d'Evans ont des identifiants, je pense que c'est pour des raisons de sérialisation.

Bien sûr, vous pouvez également opter pour un itinéraire/jambe avec identité.

Questions connexes