Hier ist die Situation, für die ich versuche, ein passendes Design zu finden.OOGenerics Design Überlegungen
Ich muss Profile von Zahlen speichern. Ein Profil ist nur eine Reihe von Zahlen. Sie können entweder vom Typ int, float oder decimal sein. Jedes Profil hat ein ProfileDescription-Feld basierend auf einer Enumeration.
Jedes Profil enthält eine Sammlung von ProfileVersion-Objekten. Jedes ProfileVersion-Objekt verfügt über eine Auflistung von ProfileValue-Objekten. In diesen ProfileValue-Objekten werden die tatsächlichen numerischen Werte des erforderlichen Typs gespeichert.
Meine ursprüngliche Entwurfsidee bestand darin, Profile, ProfileVersion und ProfileValue generisch zu machen. Ich habe ein Problem, wenn ich eine Liste von Profilen verschiedener Typen haben möchte, die ich nicht haben kann. Ich könnte stattdessen eine ArrayList verwenden, aber dann müsste ich die Daten darin auswerfen.
Obwohl es möglich sein könnte, nur ProfileVersion und ProfileValue generisch zu machen, und dann das Profile Object zuweisen einen Typ der ProfileVersion abhängig von dem Wert des ProfileDescription Feld, aber ich kann keinen Weg finden, dies zu tun. Ein anderer Gedanke war, dass ich eine ProfileBase-Klasse verwenden und dann entweder mit GenericProfileClass oder IntProfile, FloatProfile und DecimalProfile ableiten sollte, aber das würde mir keinen Vorteil verschaffen, dass jede Klasse generisch ist, wie ich müsste streiche die Unterklasse jedes Mal aus.
Ich würde Ihre Gedanken über die beste Design-Ansatz für diese Situation zu schätzen wissen.
Dank