Hallo zusammen,
ich habe ein paar hier vereinfacht dargestellte Klassen.
Dies ist als Vorstufe für eine Datenbankverwendung so aufgebaut, dass z.B. die
Desweiteren habe ich in der MainForm-Klasseninstanz je eine
Ich habe weitere Klassen mit weiteren Details, aber ich habe es auf die genannten Daten zur Veranschaulichung zusammengeschmolzen.
Wenn ich mir jetzt einen Vorgangsinfotext geben lassen will, hätte ich gerne Rückgabewerte wie:
Ich stehe nun vor dem Problem, dass ich zwar ein Interface
Jetzt die Frage: Mach ich nur was falsch oder kann man einfach nur sagen: »Isso, Pech gehabt«?
ich habe ein paar hier vereinfacht dargestellte Klassen.
VB.NET-Quellcode
- Class SellableItem
- Property ID As Integer
- Property Name As String
- End Class
- Class Delivery
- Property ID As Integer
- Property SellableItemID As Integer
- Property SupplierID As Integer
- End Class
- Class Sell
- Property ID As Integer
- Property SellableItemID As Integer
- Property SellDate As Date
- End Class
- Class Supplier
- Property ID As Integer
- Property Name As String
- End Class
Sell
-Klasse nur die ID der Ware kennt, aber nicht die Warenklasseninstanz an sich, um Datenredundanz zu verhindern, wenn der Artikel nochmal verkauft wird (und zwar im Sinne von: der gleiche Artikel, nicht derselbe)Desweiteren habe ich in der MainForm-Klasseninstanz je eine
List(Of)
der o.g. Klassen.Ich habe weitere Klassen mit weiteren Details, aber ich habe es auf die genannten Daten zur Veranschaulichung zusammengeschmolzen.
Wenn ich mir jetzt einen Vorgangsinfotext geben lassen will, hätte ich gerne Rückgabewerte wie:
- Artikel X wurde am 12.12.2022 von Lieferant A geliefert.«
- Artikel Y wurde am 13.12.2022 verkauft.«
Ich stehe nun vor dem Problem, dass ich zwar ein Interface
IBookable
erstellen und von Delivery
und Sell
implementieren lassen könnte, welches die Function GetProcessInfoText
deklariert. Aber dann stehe ich vor dem Problem, dass ich die ID der Ware erhalten kann, jedoch nicht die Artikelbezeichnung, und eine Delivery
-Instanz mir zwar eine SupplierID
geben kann, nicht aber den Namen des Lieferanten. Den kennt nur die entsprechende Supplier
-Klasseninstanz, und nur die alles umfassende MainForm-Klasseninstanz kann den Lieferantennamen und die Artikelbezeichung ermitteln und dann einen sinnvollen Text zusammenbauen. Allerdings müsste ich dazu wiederum bei jeden Vorgang prüfen, ob der Vorgang vom Typ Delivery
ist, da ein Verkauf keine SupplierID
hat, und dann mir die sehr vorgangsspezifischen Daten zusammensammeln. Und Typprüfung soll ja angeblich bei sauberer OOP eben nicht notwendig sein, soweit ich mir als ungelernter Hobbyprogrammierer die mir zur Verfügung stehende Literatur in Erinnerung rufe.Jetzt die Frage: Mach ich nur was falsch oder kann man einfach nur sagen: »Isso, Pech gehabt«?
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.