Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich arbeite zurzeit an einer Anwendung zur Verwaltung von Personalakten. Ich habe eine Hauptmask in der ein Teil der Personendaten angezeigt werden. Wenn nun ein Personalmitglied ausgewählt wird, dann öffnet sich eine zweiter Dialog, mit den Details der Person.

Das Laden der Daten erfolgt direkt in der GUI. Nun möchte ich das Ganze nach dem MVC-Prinzip aufbauen.

Geht das? Wenn ja, kann mir jemand ein Beispiel geben?

Vielen Dank!

Geschrieben

Schau mal bei Wiki :)

Ansonsten :

Controller : Klasse die auf deine Eingabenreagiert(zB alles was über die GUI läuft .. clicks und co) und diese an das Model weiter gibt

Model : Klasse die die Nutzerinformationen hält (bietet Schnittstellen für Controller und Observer) .. sollte das Observer-Pattern implementieren um Observer (GUI) zu benachrichtigen bei Änderungen

Observer : Deine GUI .. bzw. beliebige Komponenten die auf Änderungen im Model reagieren dieses also observen

Hoffe das reicht erst mal.

Gruss

Hansi

Geschrieben

Danke für die Antwort!

Ich sollte also die Datenquellen (DataSet, ...) im Model generieren und anschlieβend an die GUI übergeben ...

Wie speicher in dann danach die Änderungen? Muss ich die BindingSource im Model halten?

Geschrieben

Naja .. dein Model hat eine Liste von Observern (anfangs leer)

Das Modell bietet 3 Observer Methoden an :

1. registerObserver (Observer deinObserver)

2. unregister ...

3. notifyObserver()

Eine Gui Komponente (z.B.Eine Form die Nutzerinformationen anzeigt) registriert sich bei dem Modell (registerObserver(die Gui Komponente).

Nun erfolgt eine Nutzereingabe (zB. Zeige Nutzerinformation von Paul)

Übergabe an den Controller .. setze Benutzer Paul.

Der Controller sagt dem Modell das es Paul als aktiven benutzer setzen soll (ruft also eine Methode des Modells auf. In dieser Methode im Model wird am Ende die notifyObserver() Methode aufgerufen, bei der alle registrierten Observer benachrichtigt werden (in dem zB die Gui Komponente die die Nutzerinformation darstellt)

Hoffe das ist erst mal klar soweit.

Gruss

Dennis

Geschrieben

Im Prinzip hast du bei deiner Lösung schon eine MVC Lösung, das Dataset ist das Modell, der DataAdapter ist der Controller und das Form ist der View. Jetzt muss du nur noch den Code auf mehrere Klassen verteilen, am besten du fängst mit der Controller-Klasse an und baust für jede mögliche Aktion in der GUI eine Methode in den Conroller.

Leider ist das MVC Pattern in WindowsForms nicht sehr gut abbildbar, der View sollte die Möglichen Aktionen des Controllers selbst erkennen und anbieten, sowas kann man zwar lösen, mit Xaml/WPF als Frontend ist es aber deutlich einfacher.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...