Viele Attribute & viele Methoden
-
Hallo,
ich arbeite momentan an einem komplixierten Softwarepaket, das Hardwareprodukte einer Firma verwaltet. Mein Problem besteht darin:
Alle Produkte bestehen aus den gleichen Teilen (fast 40). Die unterscheiden sich aber im Zusammenbau.
Die 40 einzelteilen enthalten viele Eigenschaften, fast 20 pro teil.
Ich habe für jedes Teil eine Klasse entwickelt und hab die Eigenschaften jedes Teils als Attribute in der Klasse definiert. Diese Eigenschaften muß ich von einer Datenbank auslesen und im Falle, daß der Benutzer (Hardwareentwickler) sie ändert, muß ich sie in der DB aktualisieren. Muß ich jetzt für jedes Attribut (Sprich Eigenschaft des Teils) eine get-Funktion (wert lesen) und eine set-Funktion (wert ändern) schreiben (das macht fast 2*40*20 = 1600). Gibt es wirklcih keine elegantere Methode sowas zu erledigen? wie machen es eigentlich, die Leute, die eine breite Produkt Palette im Netz bieten.Ich bin für jede Hilfe sehr dankbar.
Gruss
-
Hallo,
da gibt es viele Möglichkeiten wie du dir Arbeit sparst. Als erstes könntest du ein typisiertes Dataset verwenden, dieses repräsentiert einfach die Datenbankfelder. Zweite Möglichkeit wäre ein OR-Mapper den du die Arbeit verrichten lassen kannst. Dritte Möglichkeit, so arbeiten wir z.B., ein eigenes kleines Tool, welches anhand der Datenbanktabellen die Objekte bzw. Eigenschaften erstellt. Damit bist du absolut flexibel und kannst deine Eigenschaften nach deinen Ideen entwerfen. Es gibt sicherlich noch weitere Möglichkeiten, aber diese sind mir jetzt spontan eingefallen.
Grüße Sven
-
Hi,
http://www.versant.com/products/openaccess/dotnet
kann ich da empfehlen.
Oder du baust dir halt Macros dafür.
-
Cypirinha schrieb:
Hallo,
da gibt es viele Möglichkeiten wie du dir Arbeit sparst. Als erstes könntest du ein typisiertes Dataset verwenden, dieses repräsentiert einfach die Datenbankfelder. [...]
also das mit dem DataSet geht super einfach wenn die DB steht. Tabelle im Editor reinziehen und schon haste ein Abbild der Tabelle im DataSet. Alle Eigenschaften sind drin sowie eine Datentypkontrolle. Was mich aber annervt ist das das DS immer ne Exception wirft wenn es sich um eine "DBNull" im Datenfeld handelt und du fragst den Wert ab.
-
Hallo,
deswegen gibt es für jedes Feld noch eine IsNull... Eigenschaft.
Grüße
-
Cypirinha schrieb:
Hallo,
deswegen gibt es für jedes Feld noch eine IsNull... Eigenschaft.
Grüße
ja ist klar ne, trotzdem ist das ätzend weil es bei einigen sachen unnötig ist z.B. string