OPUS4 / opus4-common

Core package for OPUS 4.
Other
0 stars 5 forks source link

ModelDescriptor sollte in Modellklassen nicht direkt verwendet werden #81

Open j3nsch opened 2 years ago

j3nsch commented 2 years ago

Momentan, in der ersten Version der Implementation von Modellklassen in Common, wird die Klasse ModelDescriptor direkt verwendet. Das sollte an eine Factory Funktion delegiert werden, die sich dann auch darum kümmern kann, dass die Modellbeschreibung erweiterbar ist durch lokal definierte Felder und Informationen aus anderen Paketen.

j3nsch commented 2 years ago

Der ModelDescriptor für eine Modellklasse kann auch nicht in einer statischen Variable von AbstractModel gespeichert werden, da diese Variable von allen ableitenden Klassen verwendet wird (Siehe auch OPUS4/application#969). Es sollte eine zentrale Klasse für die Verwaltung der Modell-Beschreibungen verwendet werden. Dort kann dann auch die Erweiterbarkeit, durch separate Konfigurationsdateien umgesetzt werden.

Die Klasse AbstractModel sollte diese Funktionalität nicht umsetzen, um sie nicht mit Verantwortungen zu überfrachten. Durch die separate Verwaltungsklasse, kann auch die Ausbreitung von statischen Variablen über alle Modellklassen hinweg eingedämmt werden.