OPUS4 / framework

OPUS 4 Database Implementation
Other
2 stars 7 forks source link

Umgang mit get/set-Funktionen in Modellklassen #281

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Für die Objekte im Datenmodell werden Felder definiert, die mit get- und set-Funktionen ausgelesen und gesetzt werden können. Es kann aber passieren, dass die Klassen weitere get- bzw. set-Funktionen enthalten, die nicht zu den Feldern im Datenmodell gehören.

Ein Beispiel wäre die Funktion getModelType, die verwendet werden könnte, um z.B. die XML-Generierung unabhängig von den konkreten Klassen zu machen. Wenn jetzt ein Feld ModelType definiert würde, gäbe es einen Konflikt.

Bisher gab es das Problem nicht, weil lokale Felder als Enrichments abgebildet wurden. Die Felder im Datenmodell sind also alle der Entwicklung bekannt. Für die zukünftige Entwicklung gibt es Überlegungen, zusätzliche Felder konfigurierbar zu machen, die wie alle anderen Felder behandelt werden. Dadurch wäre die Sonderbehandlung von Enrichments nicht mehr notwendig.

Sollten alle internen Properties, wie getModelType ebenfalls im Datenmodell definiert werden und somit diesen Namen für eigene Felder belegen? Es geht vor allem darum versehentliche Konflikte zu verhindern. Sollte für interne Get-Funktionen eine andere Syntax verwendet werden? Das wäre bei der Entwicklung schwerer nachvollziehbar. Müssen die Enrichments als einzige Möglichkeit der Erweiterung erhalten bleiben? Man könnte alle lokalen Felder mit eine Prefix versehen, also getLocalModelType.

Es muss hier eine Entscheidung getroffen und diese für die zukünftige Entwicklung dokumentiert werden.