tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
3716
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    the_lorn the_lorn ist offline Mitglied Silber
    Registriert seit
    May 2004
    Beiträge
    88
    Hallo Leute!
    Ich habe ein Problem bei der Implemenierung des Observers (Beobacher);

    Ich habe eine Klasse "File" die alle Atribute einer eingelesenen Datei beinhaltet.
    Da ich die Atribute bereits anzeigen will bevor die ganze Datei eingelesen ist muss sich das Fenster (Startfenster) stets
    erneuern wenn wieder etwas neues hinzukommt. Daher der Observer!

    Miene Impl.:

    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
    37
    38
    39
    40
    41
    42
    
    public interface Observable     
    {       void addObserver(Observer o); 
            void removeObserver(Observer o);  
            void Notify();      
    }      
     
    public interface Observer  
    {
        void update(Observable oa);
    }     
     
    public class File:Observable
    {
            
               private ArrayList observList=new ArrayList();
              ...verschiedene Methoden für speicherung der Atribute    
            
                      public void addObserver(Observer o)
            { 
                Console.WriteLine("in addObserver"); 
                observList.Add(o); 
            }
            public void removeObserver(Observer o)
            {
                observList.Remove(o);
            }
            public void Notify()
            { 
                Console.WriteLine("in Notify");
                        foreach (Observer o in observList)
                { 
                    o.update(this); 
                }  
     
     
    public class StartFenster:Form,Observer
    { 
            public StartFenster() 
            { 
                ....  wie meld ich jetzt das Fenster beim Observable an?
            }
            public void update(Observable o){....}

    Die Frage ist nun, wie meld ich das Fenster beim Observable (File) an?
    Beim Startfenster müßte ich ja eigentlich nur "addObserver(this);" eingeben oder? Aber das geht scheinbar nicht. Die update-Methode in Startfenster wird bei mir nie aufgerufen obwohl ich Notify() ausführe. Kann mir jemand helfen? Ich hab schon im Netz nach Observer gesucht aber dort fand ich nur Klassendiagramme die zwar logisch sind aber mir nicht klar machen wie ich den Observer nun implementiere. Vielleicht hat einer von euch auch ein Codebeispiel irgendwo rumzuliegen. Das hilft bestimmt auch schon.
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Blöde Frage, aber die FileInfo-Klasse bzw. gegebenenfalls die FileSystemWatcher-Componente reichen nicht?
     

  3. #3
    the_lorn the_lorn ist offline Mitglied Silber
    Registriert seit
    May 2004
    Beiträge
    88
    Um ganz ehrlich zu sein, kenn ich mich mit C# nicht so gut aus. FileInfo nützt mir nach meiner Meinung nichts. Von der anderen hab ich noch nichts gehört.
    Daher dachte ich mir, ich mach alles selber. Macht ja Quelltextmäßig auch nicht so viel mehr Arbeit. Der Rest meines Programms arbeitet ja schon. Ich muss jetzt nur noch dafür sorgen, dass meine Fenster stets erneuert werden wenn in meiner File-Klasse neue Informationen hinzukommen.
    Um vielleicht das Problem besser zu verstehen: Ich lese mit dem Prog mpeg2-Header-Daten aus. Diese sind in meiner eigenen Klasse "File" (ist also keine C# klasse) gespeichert. Die Fenster sollen jetzt also nur noch anzeigen was ich auslese.
     

Ähnliche Themen

  1. Problem mit "what´s this" - Zeiger Implementierung
    Von RuFFnEcK im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 17.01.11, 12:06
  2. Observer Pattern
    Von chuvak im Forum Java Grundlagen
    Antworten: 6
    Letzter Beitrag: 13.08.10, 13:06
  3. Observer Pattern
    Von tsluga im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 28.04.10, 16:05
  4. Antworten: 0
    Letzter Beitrag: 25.06.09, 12:44
  5. Antworten: 8
    Letzter Beitrag: 01.12.05, 17:13