2010-05-13 35 views

Répondre

3

Ils ne sont pas vraiment liés. MVC est un modèle de conception permettant de séparer les problèmes de stockage de données (modèle), de présentation de différentes vues des données (vue) et d'interaction avec ces données (contrôleur). Bien qu'il puisse s'agir d'un modèle "design", il s'agit vraiment de la conception du code. Les vues sont généralement, mais pas nécessairement, utilisées pour les interfaces graphiques. Domain-Driven Design est un style de logiciel de conception où vous vous concentrez sur la modélisation du domaine pour créer un modèle partagé bien compris du domaine de problème - un «modèle de domaine». Le design basé sur le domaine n'est pas seulement «design», mais aussi représenté dans le code, les exigences, les conversations entre les différentes parties prenantes, etc.

Donc, vous ne vous "adapteriez" pas vraiment, bien que vous puissiez certainement implémenter MVC en utilisant des objets de votre modèle de domaine. Par exemple, si vous avez modélisé une entité BankAccount et que vous avez écrit une classe correspondante, vous pouvez l'utiliser comme modèle dans une triade MVC. Peut-être que le contrôleur gère le dépôt et le retrait d'espèces, et plusieurs vues (par exemple, une vue de débit, de crédit et de résumé) sont mises à jour lors du changement de modèle. Il existe plusieurs versions de MVC, et en fonction de ce que vous choisissez, vous pouvez finir par modifier votre modèle de domaine. Par exemple, vous pouvez utiliser le modèle d'observateur dans lequel vos vues sont notifiées chaque fois qu'une entité de modèle est modifiée. Cela signifie que vous allez mélanger des concepts non-domaine (enregistrement d'observateur, notification, etc.) dans votre objet de domaine. Il peut être préférable d'envelopper l'objet domaine dans ce cas pour conserver une séparation nette entre le modèle de domaine et la couche de présentation, si cela est important pour vous. Peut-être que c'est ce que vous entendez par «adapter» l'un à l'autre.

+0

"Dans ce cas, il vaut peut-être mieux encapsuler l'objet de domaine afin de conserver une séparation nette entre le modèle de domaine et la couche de présentation, si c'est important pour vous. Oui, c'est ce que je voulais dire. Depuis le domaine Puisque le modèle de domaine est supposé être anémique, je me demandais s'il fallait utiliser des wrappers ou non. Merci pour les commentaires. –