Open j3nsch opened 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.
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.