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 pour la synchronisation des données


Sujet :

Design Patterns

  1. #1
    Invité(e)
    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 émérite
    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 :Sélectionner tout -Visualiser dans une fenêtre à part
    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

    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.

###raw>template_hook.ano_emploi###