Wir wollten zunächst ein Strategiemuster mit unterschiedlichen Implementierungen der Methoden in einer Commmon-Schnittstelle implementieren. Diese werden zur Laufzeit basierend auf Benutzereingaben abgeholt.
Wie sich herausstellt, haben wir abstrakte Klassen, die 3 - 5 allgemeine Methoden implementieren, und nur eine Methode für eine unterschiedliche Implementierung, dh die Strategie.
Update: Mit vielen abstrakten Klassen meine ich, dass es 6 verschiedene Funktionen auf hoher Ebene gibt, dh 6 Pakete, und jedes hat seine Schnittstelle + AbstractImpl + (Reihe von Actual Impl).
Ist das in irgendeiner Weise ein schlechtes Design?
Negative Ansichten in Bezug auf die spätere Erweiterbarkeit - Ich bereite mich auf eine Code- / Designüberprüfung mit Senioren vor.
quelle