Kommt immer ein wenig drauf an. Bewährte Konzepte, welche auch der Trennung von
GUI, Business-Logik und Daten dienen sind z.B. MVC oder MVVW. Von der Umsetzung her könnte man unter Delphi z.B. auf DataBindings setzen .. Events sind aber definitiv auch eine legitime Möglichkeit.
Nachtrag:
Oft sind die genannten Konzepte aber etwas starr und zumindest für kleine- bis mittelgroße Projekte mehr Last als von Nutzen. Bezüglich der Wert-Änderung, mache ich das meistens in meiner Model Klasse (deiner Entität, welche die Datenbank-Tabelle abbildet). Dort läuft das bei mir dann über Setter Funktionen der Art:
Delphi-Quellcode:
type
TModel = class(TObject)
strict private
FX: Integer;
public
...
public
property X: Integer read FX write SetX;
end;
...
procedure TModel.SetX(const X: Integer);
begin
if (FX <> X) then
begin
FX := X;
RaiseUpdateEvent;
end;
end;