J'écris une application de facturation médicale et j'utilise MVC (Spring) pour la première fois, donc j'ai du mal à obtenir une approche qui me semble juste. Des pensées/commentaires seraient appréciés.Réflexions sur mon approche MVC (données + domaine + logique métier). Newb
Mon "domaine" classes
- Docteur
- patient
- réclamation
- BusinessLogic
Mes classes contrôleur
- L istPatients
- EditPatients
- FindPatients
- SubmitClaim
Mes classes dépôt
- IPatientDao
- IDoctorDao
- IClaimDao
Mon application est très "lourde". Par exemple, les médecins ne peuvent pas supprimer les patients d'autres médecins. Les patients ne peuvent pas être supprimés s'ils ont été facturés pour quelque chose.
Je pense que ces règles ne devraient pas être capturées dans les contrôleurs, ce qui semble sale, surtout si une règle devait être utilisée dans plusieurs contrôleurs. De même, je pense que mes objets DAO sont pour lire & en écriture seulement, pas en validation. En conséquence, j'ai fait un objet BusinessLogic qui a le cerveau. Je peux donc appeler quelque chose comme:
businessLogic.deletePatient (patient, médecin); // renvoie true/false et définit un message
Ceci permet de vérifier si le médecin connecté a le droit de supprimer un patient spécifique.
Pour moi, cela semble le meilleur moyen de garder tout rangé.
Bon ou mauvais? Quoi de mieux?
Rechercher Listes de contrôle d'accès ou ACL pour gérer les autorisations et les "règles" pour les ressources. – Kekoa
Merci kekoav. Je pense que c'est en quelque sorte ce que je fais. Mes contrôleurs demandent à la classe logique de faire quelque chose. Je pouvais changer le modèle un peu il est donc plus comme si (businessLogic.permittedToDelete (patient, médecin) patientDao.deletePatient (patient);. mais qui laisse encore place à l'erreur dans les contrôleurs au cas où il y a des actions ultérieures –