IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Design Patterns Discussion :

Design Pattern Memento ou clonage d'objets ?


Sujet :

Design Patterns

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Design Pattern Memento ou clonage d'objets ?
    Bonjour,

    Je travaille actuellement sur l'IHM d'une application permettant l'édition des paramètres d'objets d'un model business.

    Pour permettre un retour à l'état initial après annulation de l'édition de ces objets, j'envisagais l'implémentation du design pattern Memento (décrit dans l'ouvrage Design Patterns du Gof) prévu à cet effet.

    Cependant, il faut savoir que les attributs des objets business, sur lesquels je travaille, sont tous accessibles et modifiables via getter et setter, (ce qui n'est pas le cas dans les exemples du livre du Gof). L'un des intérets de Memento qui est de permettre la sauvegarde de l'état interne d'un objet sans avoir accès aux attributs caractérisant cet état, ne s'applique pas dans mon cas.

    Par ailleurs le memento récupéré dans mon cas est très proche de l'objet business. En effet tous les attributs de l'objet business sont sotckés dans le memento.

    Celà signifie-t-il que ce pattern ne doit pas être utilisé dans ce cas? Y a-t-il un pattern plus approprié ? Je ne le pense pas... Mais mes collègues: Si!!. Ils préfèrent la solution suivante

    Pour éviter l'implémentation du Memento (qui leur semble lourde), il faudrait cloner les objets avant édition, puis de les restituer en cas d'annulation.

    Cette deuxième solution me semble moins propre, mais peut-être plus facilement compréhensible par la majorité des développeurs que l'implémentation de Memento.

    Qu'en pensez-vous ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Points : 46
    Points
    46
    Par défaut memento un peu lourd
    Perso, je trouve le memento un peu lourd.
    Son seul interet, est de pouvoir stocker plusieurs états de façon à revenir à l'état intiale ou à un état intermédiaire selon les besoins.

    Pour nous simplifier la vie, nous avons opté pour un membre _old du meme type que l'objet.
    nous affectons systèmatiquement sa clé primaire.ex : obj._old.id = obj.id
    Et au besoin lors de l'entrée dans un formulaire de saisie, nous renseignons tous les membres _old.* à sauvegarder.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2014, 21h00
  2. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  3. Dépendance entre objets : quel design pattern?
    Par zigxag dans le forum Design Patterns
    Réponses: 3
    Dernier message: 13/12/2007, 10h14
  4. [Conception] Design pattern Memento
    Par olivier1978 dans le forum C++
    Réponses: 4
    Dernier message: 08/09/2007, 19h21
  5. Design pattern : Elaborez le diagramme d'objet ?
    Par ivanoe25 dans le forum Design Patterns
    Réponses: 12
    Dernier message: 29/03/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo