Bsr
Voilà je gère des objets persistants en relation avec une base de données
J'ai la structure suivante
Bref rien que du très classique...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 TOPFBusinessObject | +-- TOPFPersistentObject | +-- TOPFAttributeList | +-- [0] TOPFAttribute +-- [1] TOPFAttribute +-- ... +-- [n] TOPFAttribute
Un même TOPFPersistentObject peut être utilisé par N TOPFBusinessObject.
Maintenant lorsque je modifie le TOPFBusinessObject donc en fait au final des TOPFAttribute je peux soit créer un memento pour chaque Attribut avec possibilité d'un undo/redo soit cloner l'attribut.
Une autre possibilité pourrait être de cloner carrément le TOPFPersistentObject et le rattacher uniquement au TOPFBusinessObject qui est à l'origine de la modification ou là encore d'utiliser le memento pattern mais ce dernier me semble lourd à mettre en place.
Au départ j'étais parti sur l'utilisation du couple newvalue/oldvalue en dur
dans chaque TOPFAttribute mais je trouve maintenant que ce n'est pas pratique. Je veux pouvoir savoir quel TOPFBusinessObject est à l'origine de quelle modification et surtout que les notifications associées aux modifications sur chaque attribut ne se propagent pas.
Partager