AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Spring4d, Marshmallow, Änderungen überwachen
Thema durchsuchen
Ansicht
Themen-Optionen

Spring4d, Marshmallow, Änderungen überwachen

Ein Thema von Rainer Wolff · begonnen am 30. Nov 2016 · letzter Beitrag vom 30. Nov 2016
Antwort Antwort
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Spring4d, Marshmallow, Änderungen überwachen

  Alt 30. Nov 2016, 09:17
Hi,

ich bin grad an einem größeren Projekt, das mittels Oberserver-Pattern eben diese Trennung vollzieht.

Dazu hab ich mir erstmal, entsprechend der DB-Struktur, Datenobjekte geschrieben.

Ich nehm jetzt mal eine Tabelle aus dem Projekt als Beispiel: Repositories

Dazu hab ich mir 2 Klassen geschrieben (TRepository und TRepositories), die mir die Datenhaltung und
die Bearbeitungsmöglichkeiten und das Handling in der DB abnehmen.

Zusätzlich hab ich bei TRepository (quasi Einzeldatensatzbearbeitung/Detailansicht) eine Methodenliste
sowie die 3 Methoden Register, Unregister und Notify implementiert.

Wenn ein anderes Object sich bei TRepository registriert, wird es bei Änderungen entsprechend Benachrichtigt.

Bei TRepositories (quasi eine Liste der Datensätze) hab ich das gleiche, sowie zusätzlich
eine Methode, so das sich die Liste bei einer Detailansicht als Beobachter registrieren kann.


UI-Element hab ich im Moment ein Listview, das sich bei TRepositories als Beobachter registriert hat. Wenn also die Liste (TRepositories) sich nun ändert, wird der Listview benachrichtig und zeichnet sich neu.
Umgekehrt ist natürlich TRepositories auch wieder bei der Listview registriert um z.B. entsprechende
Änderungen an der Sortierung zu ermöglichen.

Analog dazu soll die Detail-Geschichte laufen. Hier kann sich (neben dem entsprechenden Formular) auch die Liste (TRepositories) beim Detail (TRepository) registrieren. Sobald sich der Datensatz ändert wird das Formular und die Liste benachrichtigt und können entsprechende Aktionen durchführen.
Uwe
e=mc² or energy = milk * coffee²

Geändert von Ghostwalker (30. Nov 2016 um 09:25 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz