Ihre zweite Option, "create class für jedes der Modelle", klingt günstiger, da sie der Single Responsibility Principle folgt.
Sollten Sie eine einzelne Klasse für diese spezifizierten Bedenken auswählen, denken Sie an Ihre Aussage, dass in der Zukunft möglicherweise mehr Anforderungen bestehen. Was Sie jetzt machen, ist "Pre-Optimization" oder "Premature Optimization", was auf lange Sicht oft zu Zeitverlust führt und in diesem Fall Ihre (einzelne) Klasse schwieriger macht, diese zukünftigen Anforderungen zu erweitern/zu modifizieren mitkommen. Gerade jetzt, während Sie diese Anwendung oder diesen Dienst entwickeln, wird die Anwendung nicht viel leiden, wenn Sie 2 Klassen/2 Tabellen zum Speichern von Paketen und Hüllkurven haben. Monate/Jahre in der Zukunft, wenn dieses Problem eine Menge Schmerzen in Form von DB-Last oder etwas Ähnlichem verursacht, sollten Sie dann die Notwendigkeit erneut überblicken, sie zu einer Klasse/Tabelle zu kombinieren.
Soweit über die kleine architektonische Eleganz sich Gedanken aus, die zwei Klassen gewonnen betroffen ist, bedenken Sie, dass diese die Art von Dingen, die nur Programmierer kümmern uns um. Die Anwendung ist wahrscheinlich nicht für Sie, sondern für die Kunden des Unternehmens. Die Kunden beachten oder kümmern sich nicht um eine reduzierte Anzahl von Klassen oder Tabellen. Sie kümmern sich nur darum, dass ihre Umschläge und Pakete geliefert werden. Gleiches gilt für den CEO, die Investoren und andere Beteiligte in der Anwendung. Es ist schwierig, als Programmierer diese Dinge loszulassen, aber es ist etwas, was wir tun müssen. Machen Sie sich keine Gedanken darüber, ob Sie mehr als eine oder zwei Minuten an kleine Leistungssteigerungen denken, es sei denn, sie stellen bereits ein Problem dar, das gelöst werden muss. Implementieren Sie zuerst die Anwendung, versenden Sie den neuen Dienst/die neue Funktion und führen Sie später eine Iteration durch, wenn für einen Leistungszuwachs benötigt wird.
sehr interessante Artikel und Sie haben hier einen Punkt! Vielen Dank! – user664859