tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
0
ZUGRIFFE
768
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jower jower ist offline Mitglied Bronze
    Registriert seit
    Apr 2005
    Beiträge
    30
    Hallo,
    ich habe eine Frage zu Design Patterns, bei der mir vielleicht jemand helfen kann.
    Die Grundidee ist, dass ich eine Datenklasse habe, die Bilder einliest und in einer Membervariable ablegt.
    Nun möchte ich die eingelesenen Bilder bearbeiten, aber auch nicht die ganzen Bearbeitungsmethoden in die Datenklasse schreiben. Jetzt bin ich auf die Idee gekommen, dass man das doch elegant mit einem visitor pattern realisieren kann.
    Die Frage ist zum einen, ob das eine gute Idee ist? Habt Ihr eine andere Idee, wie man das machen kann?

    Damit ihr einen Eindruck bekommt, wie das momentan aussieht, hier der code:

    in der Datei process.h der Bearbeitungsklasse steht das:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
     
    // process.h
     
    class CZDataVisitor;
     
    // Klasse, die auf den Data der Klasse CZData arbeiten soll.
    class CProcess  : public CZDataVisitor
    {
    public:
        CProcess  (void);
        ~CProcess  (void); 
     
        virtual void visit( class CZData *ZData );
     
    private:
    };
    // ENDE process.h

    in der Datei zdata.h der Datenklasse steht das:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    // zdata.h
     
    class CProcess;
     
    // Klasse, die den Zugang zu der Basisklasse CZData erlaubt zur Umsetzung des visitor design pattern
    class CZDataVisitor
    {
    public:
        virtual ~CZDataVisitor (){};
        virtual void visit( class CZDataVisitor *data ) = 0;
    };
     
    // Basis Klasse, die die Daten aus dem Sensor ausliest
    class CZData : CData {
    public:
        CZData ();
        ~CZData ();
     
        void readSensor(void);
        
        /*! accept visitors (visitor design pattern) 
        @param: visitor external operation visiting this instance
        */
        void    accept(CZCamDataVisitor &visitor)   { visitor.visit(this); }
     
        IplImage    *getCurCVImage(void) const {return m_image; };
        void         setCurCVImage(IplImage * image) 
                            { m_image = image; };
    private:
     
        CvSize   m_imageSize;
        IplImage    *m_image;
     
        Cprocess    *m_processZData;
    };
    // ENDE zdata.h

    Vielen Dank im Voraus.
    Geändert von jower (25.06.09 um 17:05 Uhr)
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 25.06.09, 14:03
  2. GUI Programmierung, MVC Design Pattern
    Von DarthShader im Forum Java
    Antworten: 0
    Letzter Beitrag: 01.04.07, 16:44
  3. Design Pattern Command
    Von psykochris im Forum Java
    Antworten: 1
    Letzter Beitrag: 22.06.06, 02:02
  4. [Pattern] Visitor
    Von TommyMo im Forum Coders Talk
    Antworten: 3
    Letzter Beitrag: 18.01.06, 13:20
  5. Antworten: 8
    Letzter Beitrag: 01.12.05, 17:13

Stichworte