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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...