![]() |
|
|
|||||||
| Allgemeine Java-Themen Allgemeine Themen, die nicht in andere Fachforen und nicht zu den Java Basics passen |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Neuer Benutzer
short
Registriert seit: 01.08.2009
Fachbeiträge: 17
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Ich habe mir eine einfache Filmdatenbank gebastelt, die auch soweit funktioniert. Nun bin ich dabei, neben Erweiterungen, den Code zu optimieren.
Meine Filme werden dabei in einem Objekt gespeichert, das viele Felder besitzt. Meine Frage ist nun, ob es noch andere Möglichkeiten gibt, dies zu realisieren? Zudem sind die Felder public und werden auch direkt angesprochen. Vlt. hat jemand noch eine Idee zur Verbesserung, z.B. wie es effizienter und speicherschonender sein kann. Ich wäre euch verbunden.Hier nun die Datei:
Geändert von StifMB (29.08.2009 um 23:38 Uhr) |
||
|
|
| #2 (permalink) | |||
|
Stammbenutzer
Floppy Disc
Registriert seit: 04.03.2009
Fachbeiträge: 858
Blog-Einträge: 1
Abgegebene Danke: 1
Erhielt 163 Danke für 148 Beiträge
|
Üblich ist eigentlich die Verwendung von gettern und settern.
Das rührt daher, das einige Serialisierer auf die Getter und Setter zugreifen um ihre Arbeit zu verrichten. Zum Interface Serializable gehört eigentlich noch ein Defaultkonstruktor. Weil, der ein oder andere Serialisierer sich irgendwie ein Objekt erzeugen muß, das er mit den Serialisierten Daten befüllt. Bei so Geschichten wie String country, kann man sich überlegen ob man statt String auf Enums umsteigt. Sonst könnte es sein, daß man Filme aus Deutschland, Germany, Deutsch, D, Deu und Ger hat. Genre und Language sind ähnlich gelagert. Stehen actors und actorsRole in einer Verbindung zueinander, so kann man ein weiteres (Serialisierbares) Objekt verwenden. z.B. Role das einen Titel und einen Actor hat.
Zahlen für year und length? |
||
|
|
| #3 (permalink) | |
|
Stammbenutzer
Viertel Megabyte
Registriert seit: 04.05.2009
Fachbeiträge: 305
Abgegebene Danke: 1
Erhielt 37 Danke für 34 Beiträge
|
Wenn Du viele einzelne Variablen nicht magst, ist HashMap dazu vielleicht eine Alternative. (Dies wäre beispielsweise einfach zu ändern, wenn Du jetzt schon Getter und Setter hättest.)
|
|
|
| #4 (permalink) | |
|
Neuer Benutzer
short
Themenstarter
Registriert seit: 01.08.2009
Fachbeiträge: 17
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Ich danke für die Antworten und Hinweise. Ich habe meine Klasse komplett überarbeitet und auch getter und setter benutzt. Allerdings wird die Klasse dadurch recht groß und unübersichtlich wie ich finde. Habe nun auch eine HashMap verwendet, dadurch wird das gespeicherte Objekt kleiner, sofern Felder leer bleiben. Danke nochmals. Mit Enums muss ich mich aber noch beschäftigen.
Eine Frage hätte ich aber noch: Warum muss/sollte ich List<String> verwenden?Das Wichtigste wäre dann noch das automatische Abfragen von Filminformationen ... aber wie ich das hinbekommen soll ... o.O ... |
|
|
| #5 (permalink) | |
|
Stammbenutzer
Halbes Gigabyte
Registriert seit: 06.04.2005
Fachbeiträge: 5.441
Blog-Einträge: 15
Abgegebene Danke: 193
Erhielt 689 Danke für 566 Beiträge
|
Man sollte generell "gegen das Interface" (List, Map, Set usw.) programmieren. Wenn du aus irgendwelchen Gründen einmal eine andere Listenimplementierung als ArrayList einsetzen willst (LinkedList, CopyOnWriteArrayList usw.), musst du nicht überall rumändern.
Eine Analogie: Es gibt keinen abstrakten "Schraubenschlüssel", sondern immer nur Modelle von bestimmten Firmen. Trotzdem wirst du in keiner Bauanleitung finden: "Nehmen Sie einen 13er Schraubenschlüssel Drehfix der Firma Schraubgut", sondern die allgemeinste Bezeichnung für ein Gerät, was die Arbeit erledingen kann, also "13er Schraubenschlüssel". Diese "allgemeinste Bezeichnung" ist hier das Interface. Du kannst damit Code schreiben, der mit beliebigen Listentypen umgehen kann. |
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Felder dynamisch erzeugen! | AWT, Swing, JavaFX & SWT | 3 | 23.04.2008 12:00 | |
| Felder unterschiedlichen Typs | Reen | Java Basics - Anfänger-Themen | 9 | 24.04.2007 08:16 |
| JSplitPane Felder ansprechen | jeanfischer | AWT, Swing, JavaFX & SWT | 3 | 18.02.2006 08:41 |
| mit reflection an die felder einer klasse rankommen | Allgemeine Java-Themen | 4 | 13.09.2005 15:26 | |
| Felder vergleichen | Destiny1985 | Java Basics - Anfänger-Themen | 14 | 17.02.2005 12:22 |
| Lesezeichen |
|
|