J'ai un domaine de problème où l'utilisateur devrait être capable de créer un objet "ProductType" où chaque objet ProductType devrait avoir une liste de "ProductTypeProperties" agrégée et chaque objet ProductTypeProperty devrait avoir une liste de "ProductTypePropertyValues" agrégée. Après que l'utilisateur est capable de créer un objet "Product" et d'associer quelques ProductTypes avec lui.Aide à la modélisation de domaine: Product & ProductType & ProductyTypeProperties & ProductyTypePropertyValues
Lorsque l'utilisateur associe Product avec quelques ProductTypes, l'utilisateur peut spécifier des valeurs de ProductTypeProperties à l'objet Product.
ProductTypeProperties pourraient avoir des valeurs qui appartiennent à différents modes de sélection, comme: « un choix », « plusieurs choix » et « string/entier/décimal entrée »
Je ne sais pas comment concevoir cette modèle d'objet de domaine. Surtout comment appliquer les valeurs de propriété de ProductType sur l'objet Product. Cela ne me dérange pas à propos de la persistance à ce moment, seulement sur le modèle de domaine d'objet, car je suis libre de choisir la base de données SQL/Document/Objet/Graph.
La structure de l'objet ressemble maintenant à ceci:
ProductType
List<ProductTypeProperty>
List<ProductTypePropertyValue>
Product
List<ProductType>
Les classes C# définition que je l'utilise pour est maintenant:
public class Product {
public string Name { get; set; }
public List<ProductType> AssociatedProductTypes { get; set; }
// how to apply ProductType's property values to a Product object?
}
public class ProductType {
public string Name { get; set; }
public List<ProductTypeProperty> AggregatedProperties { get; set; }
}
public class ProductTypeProperty {
public string Name { get; set; }
public List<ProductTypePropertyValue> AggregatedAvailableValues { get; set; }
}
public class ProductTypePropertyValue {
public string Name { get; set; }
}
Il ressemble à essayer d'appliquer la structure des classes/d'objets dans les objets, où "ProductType" est une "classe" et "Product" est un "objet" qui peut être une instance "ProductTypes" et des propriétés "inherit" et des valeurs disponibles de chacun des types de produits associés.
Je ne faisais jamais un modèle d'objet comme celui-ci, donc c'est très intéressant comment le faire correctement. Merci pour vos idées et suggestions.
Il semble que vous ayez déjà un modèle d'objets qui reflète correctement la structure que vous recherchez (produits avec plusieurs types de produits, types de produits avec plusieurs propriétés, propriétés avec plusieurs valeurs possibles). Si vous l'avez déjà modélisé, quelle est la question? – edutesoy