1 Modèles de conception métier J.M. Vanel 2009
2 Architecture en couches – Présentation – Logique applicative – Modèle Métier – Accès aux données – Stockage (Persistance)
3 Exemple: calcul prix commande: conception centralisée D'après M. Fowler
4 Exemple: calcul prix commande: style Orienté Objet
5 Mutuelle Assure' +taux(): double Prestation +montant(Assure'): int Exemple: calcul remboursement Mutuelle ● La classe Assuré sait calculer un taux de base à partir de ses données privées (âge, situation de famille, etc) ● La classe Prestation encapsule les infos sur un acte médical; la méthode montant(Assuré) a ainsi toutes les billes pour calculer.
6 Diagramme de Séquence ● Un cas réaliste – notion de délégation ● chaque classe a ses compétences
7 Héritage versus association ● Soit le classique: Personne <| Employé ● Un objet Employé ne peut pas changer de nature – Ne permet pas de modéliser la perte du statut employé ● Solution: Personne >RoleEmployé RoleEmployé a les mêmes champs que Employé, mais c'est une classe indépendante.
8 Navigabilité ● Exemples typiques: ● Client ---> Commande ---> Article ● Un Article peut exister avant toute commande ● Employe ---> PosteDeTravail ● Le Poste de travail est défini avant l'embauche Se poser la question: lequel peut exister sans l'autre ?
9 Diagramme de Séquence ● Un cas réaliste – notion de délégation ● chaque classe a ses compétences
10 Les objets-valeur (Value Object) ● n’ont pas d’identité propre (exemple date, somme d’argent) ● En Java on redéfinit equals() et hashCode() ● immuables
11 Modèles de conception de Martin Fowler Analysis patterns – Reusable Object Models ● Accountability ● Observations and Measurements ● Referring to Objects ● Inventory and Accounting ● Planning ● Trading
12 ● Interfaces Révélant l’Intention ● Distinguer les les types de données et les vrais objets ● Fonctions sans effets de bord E. Evans - Domain-Driven Design; Tackling Complexity in the Heart of Software (Addison-Wesley, 2003)
13 Modèles classiques ● Client-commande ● Projet-tâches, équipe-entreprise ● Comptes-banque ● Gestion documents ● GRC (demande, utilisateur) ● RH (CV, poste) ● Conception industrielle (CAO)
14 Les modèles de conception ● Obvervateur (alias notification, Modèle-vue) ● Composite (alias modèle arborescent) ● Décorateur (alias délégation, wrapper) ● Commande ● Façade ● Fabrique