Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    cedrix57
    Invité(e)

    Par défaut Design pattern pour la synchronisation des données

    Bonjour,

    Voici un problème que je rencontre souvent. Je ne sait pas s'il existe un design pattern pour simplifier le problème.

    Je dois souvent synchroniser des données. Par exemple dans un logiciel d'édition vidéo, je dois choisir une borne de début et une de fin.
    Dans mon interface graphique j'ai 3 endroits où cela peut être saisie:
    - Une barre avec deux curseurs (zone 1)
    - Deux zones de saisie ou l'utilisateur peut entrer un temps de cette forme 00:30:10 (heure:minute:seconde). (zone 2)
    - Deux zones de saisie d'entier qui représente le début et la fin en nombre de frames. (zone 3)
    - Les deux informations (début et fin en nombre de frames) sont stockés dans une classe métier. (zone 4)
    - Éventuellement je dois modifier une autre valeur qui dépend de ces informations. (zone 5)

    En plus il faut s'assurer de cette égalité en permanence :
    MIN< nFramesDebut < nFramesFin < FIN
    où MIN et FIN sont des constantes. MIN = 0 et FIN = nombre de frame de la vidéo ouverte.

    Voici le genre d'algorithme que je met en place :
    Quand la zone 1 est modifié :
    >-SI(NON(zone1_is_changing ))
    >---mettre un verrou zone1_is_changing = true
    >---SI(les données sont valides)
    >-----Mettre à jour zone 2
    >-----Mettre à jour zone 3
    >-----Mettre à jour zone 4
    >-----SI(La zone 5 n'est plus valide)
    >-------Mettre à jour zone 5
    >-----FIN SI
    >---FIN SI
    >---mettre un verrou zone1_is_changing = false
    >-FIN SI

    Quelqu'un connait un design pattern qui serait adapté à ce genre de truc ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    mars 2005
    Messages
    664
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : mars 2005
    Messages : 664
    Points : 1 532
    Points
    1 532

    Par défaut

    Bonjour,

    Tu peux peut-être regarder du côté des "évènements". Tu crées des objets qui sont abonnés à des évènements et d'autres qui "écoutent" les modifications pour lancer des évènements.

    Il y a par exemple le design pattern "Observer".
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C :
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 961
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 961
    Points : 15 082
    Points
    15 082

    Par défaut

    Citation Envoyé par cedrix57 Voir le message
    Quelqu'un connait un design pattern qui serait adapté à ce genre de truc ?

    Merci d'avance
    on dirait du MVC

    Model:
    MIN, nFramesDebut, nFramesFin, FIN

    View:
    CurseurGauche
    CurseurDroite
    TexteHeureDébut
    TexteHeureFine
    Texte..

    Controller:
    MouvementCurseurGauche()
    MouvementCurseurDroite()
    EditionFrameDebut()
    EditionFrameFin()
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •