Da ich in diesen Abfragen das temporäre Objekt mindestens
1mal, maximal aber 2mal benötige, bin ich eher für Variante 1.
Spricht da etwas dagegen?
Ich bin für Variante 2, weil das Objekt nur einmal erzeugt wird. Eigentlich bin ich sogar für Variante 3 (falls möglich): Kannst du das „checkeObObjektInDatenbank“ nicht irgendwie über eine ID oder einen eindeutigen Bezeichner wie z.b. „Birnen“ durchführen, also einfach den String als Parameter übergeben und das Objekt nur erzeugen wenn es auch benötigt wird.
Ich bin für Variante 2, weil das Objekt nur einmal erzeugt
wird.
Ok, aber ich muss es halt auch wieder löschen, daher stellt sich mir die Frage, was denn vernünftiger ist. In Variante 1 ist das Löschen ja nicht notwendig, also kann mir beim Programmieren auch kein Fehler unterlaufen, indem ich das Objekt vergesse zu vernichten …
Eigentlich bin ich sogar für Variante 3 (falls möglich):
Kannst du das „checkeObObjektInDatenbank“ nicht irgendwie über
eine ID oder einen eindeutigen Bezeichner wie z.b. „Birnen“
durchführen, also einfach den String als Parameter übergeben
und das Objekt nur erzeugen wenn es auch benötigt wird.
Da gebe ich dir Recht, doch leider ist mein Objekt komplexer aufgebaut und repräsentiert einen gesamten Datensatz, der nicht anhand einem einzigen Attribut unterschieden werden kann, außer der ID, aber die kenne ich ja beim Insert noch nicht, da AutoIncrement und so…
Ich bin für Variante 2, weil das Objekt nur einmal erzeugt
wird.
Ok, aber ich muss es halt auch wieder löschen, daher stellt
sich mir die Frage, was denn vernünftiger ist. In Variante 1
ist das Löschen ja nicht notwendig, also kann mir beim
Programmieren auch kein Fehler unterlaufen, indem ich das
Objekt vergesse zu vernichten …
Ähhh … auch wenn du es nicht getan hasst, in Variante 1 ist das löschen sehr wohl notwendig. Und du hasst es dort bereits Vergessen! Denn mit deinem
TestInDatabase(new Obst(„Brine“));
Wird eine Instance der Klasse Birne erzeugt, die nirgendwo gelöscht wird.
Variante 2 hat da doch grosse Vorteile