Je suis nouveau à DDD alors s'il vous plaît pardonnez-moi si je n'utilise pas les termes correctement. J'utilise C# MS/SQL et NHibernate.Question de conception guidée par domaine
J'ai un appel de classe Paiement et ce paiement a un PaymentCurrency, chacun d'eux est une entité dans la base de données.
OK. Dans mon modèle de domaine que je veux être en mesure de créer paiement soit
Payment p = new Payment(100) // automatically uses the default currency (defined in the db)
ou
Payment p = new Payment(100, Repository.GetCurrency("JPY")) // uses Yen defined in the db.
Mais il me semble que pour initialiser mon objet de domaine avec la monnaie défault je dois polluer le modèle de domaine avec la connaissance de la persistance. c'est-à-dire que, avant de pouvoir terminer le constructeur de paiement par défaut, j'ai besoin de charger l'objet de paiement par défaut à partir de la base de données.
Le constructeur est somehting je visualise comme
public Payment(int amount) {
Currency = Repository.LoadDefaultCurrency(); // of cource defualt currency would be a singleton
}
public Payment(int amount, Currency c) {
Currency = c; // this is OK since c is passed in from outside the domain model.
}
Merci pour vos conseils.
-1 de moi - Je crois qu'il existe un autre moyen d'obtenir des informations sur les devises sans recourir à la persistance ou à l'injection de dépendances. – duffymo