| 

.NET C# Java Javascript Exception

5
Hi zusammen,

ich bin gerade immernoch mit dem Backend meiner Anwendung beschäftigt. Allerdings habe ich da eine Frage was den Aufbau eines Objektes angeht bzw. dessen Design.

Beispiel Mediendatenbank:
Das Objekt Medium hat folgende Eigenschaft: Name, Medium, Laufzeit (bei Filmen), Altersfreigabe, Cover, Publisher, Produzent, Produktionsjahr, Beschreibung, Lagerort, usw. Müssten ca 28 Eigenschaften sein.

Ist das nicht etwas viel für ein einzelnes Objekt? Gibt es da ähnliche Konventionen ein Objekt aufzuteilen wie bei Datenbanken die Dritte Normalform, das es übersichtlicher gestaltet? Alleine 56 Getter/Setter zu haben lässt es unübersichtlich werden.

Gruß
Lord Pinhead
14.12.2011
Lord_Pinhead 778 1 8
1 Antwort
1
Wie wäre es wenn du ähnliche Eigenschaften in Unterobjekt zusammenfasst. Diese lässt du automatisch vom Constructor erzeugen und machst sie readonly, damit niemand die Referenz verändern kann.
14.12.2011
m.fuchs 1,8k 2 8
Das hab ich mir auch schon gedacht, das Betrifft aber nur 5 Felder, Produzent bzw. Gruppe, Plattenlabel usw. alle anderen gehören ja dummerweise zu einem Medium als Eigenschaft.

Aufteilen ist mir bewusst, ich würde auch Informationen eben nachladen und in eigene Objekte auslagern, ich wollte nur fragen ob es da Konventionen gibt an die man sich halten sollte.
Lord_Pinhead 14.12.2011
Die Eigenschaften können ja auch ruhig zu einem Medium gehören. Ich spreche hier auch nicht von 1:n sondern von 1:1 Beziehungen.
m.fuchs 14.12.2011
@Lord_Pinhead: Ich glaube, m.fuchs meint eine Aufteilung, bei der z.B. Laufzeit, Angaben zur Tonspur und zum Seitenverhältnis in einer Unterklasse Abspielinfos zusammengefasst werden oder Cover, Booklet und was es da vielleicht sonst noch gibt in einer Unterklasse Präsentation oder Hülle. So wie man Straße, PLZ und Ort zu einer Adresse zusammenfasst.
Ansonsten wären meiner Meinung nach aber auch 28 Eigenschaften kein großes Problem, solange die Klasse vor allem als Datencontainer fungiert und kaum Logik enthalten ist, die die Daten manipuliert.
Matthias Hlawatsch 14.12.2011
Achso, das wäre eine Idee. Werde ich mal versuchen.
Logik halte ich nicht in dem Objekt und will auch versuchen es als Generic zu implementieren, die Klasse ist eben nur für das halten von Daten zuständig. Trotzdem finde ich es sehr unübersichtlich in der jetzigen Variante.
Lord_Pinhead 16.12.2011

Stelle deine Java-Frage jetzt!