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

Langage Perl Discussion :

Clonage d'objet et duplication d'instance en perl 5.24.1


Sujet :

Langage Perl

  1. #1
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut Clonage d'objet et duplication d'instance en perl 5.24.1
    Bonjour

    Voici ma problématique :

    Version perl 5.24.1
    Un objet est instancié.
    Il doit donner naissance à un autre objet, lui ressemblant, mais indépendant.
    L'égalité va recopier la référence à l'objet. Et la modification d'un objet provoquera la modification de l'autre.
    Il est nécessaire de cloner ou dupliquer l'instance sur un autre emplacement de la mémoire.
    Bien sûr, l'objet original est composé.
    Il faut donc cloner le contenant et le contenu.

    Quelle est la méthode donnant le moins de travail ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  2. #2
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 278
    Points : 12 726
    Points
    12 726
    Par défaut
    Bonjour,

    La réponse n'est pas simple car il n'y a pas vraiment de méthode générique pour faire ça. Tout dépend de la structure interne de ton objet et de ce que tu veux vraiment "deep" copier dedans.

    En standard, tu as les modules Clone (si une profondeur de 3 niveaux ou moins) ou Storable (préférable si au-dela de 3 niveaux de profondeur) et sinon tu as des modules sur le CPAN comme Data::Clone.

    Bon courage.
    Cordialement.

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Merci pour cette réponse.

    La lecture du paragraphe "Politique de clonage" m'a ouvert les yeux sur la difficulté.
    Je ne suis même pas sûr des parties à cloner, celles à mutualiser, celles à snober.
    A priori, l'objet Storable me plaît et semble convenir.

    Ce genre d'objet détecte-t-il les références circulaires ?

    En attendant, retour en conception.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    J'ai finalement créer un objet, un genre de superviseur, qui connaît tous les autres objets de la structure.
    C'est lui qui gère le clonage en demandant à chaque objet de se dupliquer (ce qu'ils savent faire).
    S'il y a une question de lien à modifier en fonction du contexte, c'est lui aussi qui met à jour.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 30/10/2008, 18h33
  2. [POO] Clonage d'objet ou pas ?
    Par grunk dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2008, 23h42
  3. [Memento] Design Pattern Memento ou clonage d'objets ?
    Par SPQR dans le forum Design Patterns
    Réponses: 1
    Dernier message: 23/07/2007, 09h08
  4. [POO] Tableau d'objets B dans une instance de class A
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2006, 09h52
  5. Cloner un objet : comment créer l'instance ?
    Par phplive dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2005, 18h27

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