Mettre en place l'association bidirectionnelle Address — Client
📢 Description du problème
Assurer le fonctionnement de l'association birectionnelle entre les classes Address et Client.
👮 Test à réaliser
-
Tester le bon fonctionnement de la reférence de ClientdansAddress. -
Tester le bon fonctionnement de la reférence de AddressdansClient. -
Tester la suppression de chaque référence. -
Tester le changement de reference pour chaque reference. -
Tester le handshakeentreClientetAddress.
✔ Solutions
La résolution de ce problème se fait en deux temps:
- Ecriture des tests unitaires
- Implémentation de l'association bidirectionnelle. On privilégiera l'utilisation de classe générique pour faciliter les futures opérations de maintenance
- Création d'une interface
Referencecontenant uniquement les méthodes-
isSet(): Vérifie si une association est définie - et
unset(): supprimer une association
-
- Création d'une interface
ReferenceToOnequi héritera deReference. Elle contiendra les méthodes suivantes:set()get()basicSet()basicUnset()
- Création d'une interface
OneToOneAssociationqui implémenteReferenceToOnequi contient la méthodeoppositeReferenceFor(). Celle-ci retourne la référence opposé. - Création d'une classe Abstraite
AbstractOneToOneAssociationqui implémente l'interfaceOneToOneAssociation - Création d'une classe concrète
BidirectionalOneToOnequi hérite deAbstractOneToOneAssociation. Cette classe doit-être générique et utilisable pour la réalisation d'autres associations bidirectionnelles mono-valuées.
- Création d'une interface
Dans l'implémentation, l'utilisation de lambda expression et Function sera utile