2011-06-07 4 views
4

J'apprends Grails, j'essaie de construire une petite application. Et pour l'instant je travaille sur la partie enregistrement.Besoin d'idées dans la conception des classes de domaine Grails

Il y a 3 vues différentes pour le processus d'inscription 1) En tant qu'employé mon avis d'inscription est différent avec différents champs 2) une vue de l'enregistrement de l'employeur serait différent où je percevrait les détails de l'entreprise, un représentant autorisé qui peut agir au nom de l'entreprise. Donc, en fait, je pensais que l'entreprise (l'employeur) n'est pas l'acteur mais le représentant est un acteur et donc besoin d'une classe de domaine représentatif. 3) l'affichage de l'inscription du détaillant est différent.

donc je dois définir les classes de domaine et ses relations Je suis très nouveau pour Grails et je besoin de quelques conseils dans la conception

Je pensais au départ de la classe de domaine utilisateur et ont UserTypes (qui définit les différents types de utilisateurs ex représentant, détaillant et employé) mais pas sûr si cela fonctionne.

Appréciez si quelqu'un pourrait m'aider dans la construction de mes classes de domaine.

Merci

Répondre

1

Vous voulez certainement tracer vos classes de domaine avant de commencer à travailler sur les points de vue. Le représentant autorisé sera-t-il toujours un employé ou est-ce une entité complètement différente? Pensez-y en termes d'objets et essayez de l'imiter autant que possible. Une entreprise a des employés et peut avoir un représentant autorisé. Voici un exemple de maquette:

class Employee { 
    String firstName, lastName /* etc... */ 
} 

class Company { 
    String name /* etc */ 

    Representative authorizedRepresentative 

    static hasMany = [ employees : Employee ] 
} 

class Representative { 

} 

Bien sûr, vous pouvez avoir des références de la Employee s à son Company. Jetez un oeil à la partie Object Relational Mapping des documents Grails.

+0

Dans ce scénario, je n'ai pas besoin d'un droit de classe de domaine utilisateur? Si je veux avoir des rôles définis, est-ce que le modèle ci-dessus s'occupe de cela automatiquement? – srisris

+0

Essentiellement. Tout dépend vraiment de ce que vous voulez que votre application fasse. Dans l'exemple, j'ai fait en sorte que tout soit sa propre entité, ce qui définit plus ou moins les rôles dans lesquels elle se trouve. Quels autres types de fonctionnalités votre application va-t-elle avoir? – Pat

Questions connexes