ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
3716
3716
EMPFEHLEN
-
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.
-
Blöde Frage, aber die FileInfo-Klasse bzw. gegebenenfalls die FileSystemWatcher-Componente reichen nicht?
-
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
-
Problem mit "what´s this" - Zeiger Implementierung
Von RuFFnEcK im Forum VisualStudio & MFCAntworten: 1Letzter Beitrag: 17.01.11, 12:06 -
Observer Pattern
Von chuvak im Forum Java GrundlagenAntworten: 6Letzter Beitrag: 13.08.10, 13:06 -
Observer Pattern
Von tsluga im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 28.04.10, 16:05 -
Design Pattern "Visitor" hierfür geeignet? --> Auswahl design pattern.
Von jower im Forum Coders TalkAntworten: 0Letzter Beitrag: 25.06.09, 12:44 -
Mit "pattern", "matcher" und "replace" ein Fragezeichen ersetzen
Von Scrapy im Forum JavaAntworten: 8Letzter Beitrag: 01.12.05, 17:13





Zitieren
Login





