2012-05-22 1 views
0

Je me demande quelle est la meilleure façon de mettre en œuvre le modèle de domaine dynamique persisté dans la base de données SQL? Dire un modèle de domaine dynamique Je veux dire un tel modèle lorsque l'utilisateur peut changer de "classe" d'objet en ajoutant ou en supprimant des propriétés. Par exemple: petit magasin internet où le manager peut ajouter de nouveaux types de produits avec interface web. Devrais-je utiliser quelque chose comme Map partout? Peut-être vaut-il mieux ne conserver qu'une partie dynamique de l'objet dans Map? Ou peut-être la génération de classe d'exécution aidera? Ou devrais-je faire un tour sur des langages dynamiques comme Groovy? J'ai testé les première et deuxième méthodes et c'est un vrai casse-tête à développer de cette façon.Architecture de l'application Enterprise java. Modèle de domaine dynamique

Quelle est la pratique courante?

+1

Peut-être un meilleur sujet pour [Programmeurs] (http://programmers.stackexchange.com/). –

+0

Le fait qu'un gestionnaire puisse ajouter un nouveau type de produit ne signifie pas que votre modèle est dynamique. Cela signifie que vous avez une entité Product en tant qu'association many-to-one à une entité ProductType (une table de produit avec une clé étrangère à une table product_type, en termes de SGBDR) –

+0

Désolé pour offtop mais quelle est la différence entre stackoverflow et Programmers? –

Répondre

3

Vous avez un 1 à 1 du produit au type de produit. Le produit a donc un membre var appelé productType. Vous aurez également un 1 à plusieurs du produit aux caractéristiques. Ainsi, la classe de produit aura une liste de fonctionnalités.

Je ne peux pas m'imaginer une façon plus incorrecte de le faire, puis d'utiliser cglib pour créer des classes à la volée.