Krautkanal.com

Veröffentlicht am 2017-02-11 04:16:26 in /prog/

/prog/ 9922: Warum fühlt es sich so falsch an Objekte nicht exp...

nicoleglynn Avatar
nicoleglynn:#9922

Warum fühlt es sich so falsch an Objekte nicht explizit zerstören zu können?
Deterministische Finalisierung, kennste?

Gründe, die für Destruktoren sprechen:
1) Guter Stil - es wird sofort ersichtlich, wann ein Objekt verworfen wird. Nicht so einfach in Java, weil ein Objekt nicht weiß, was auf es zeigt.
2) Kürzerer Kot - Die einfachste Methode, eine Singleton-Instanz zu resetten, wäre den Konstruktor erneut aufzurufen. Dies ist aber nicht so einfach möglich, ohne zu riskieren, dass ein anderes Objekt eine Referenz auf eben diese Instanz hat - was dann zwei Instanzen zur Folge hätte. Dies erfordert zusätzlichen Boilerplate-Kot in vielen Fällen.
3) Performanz - eigentlich selbsterklärend. Garbage Collection kann gerne optional sein, sollte aber nicht forciert werden.

LG BRENT

hammedk Avatar
hammedk:#9924

>1)
Lerne inzu try-with-resources.
>2)
Was zum Fick redest du da?
>3)
Komm wieder, wenn du davon tatsächlich betroffen bist.

umurgdk Avatar
umurgdk:#9932

Die Argumente sind einfach falsch.

malgordon Avatar
malgordon:#9950

>>9922
>2017
>unironisch das Singleton pattern verwenden

ffbel Avatar
ffbel:#9951

>>9950
> >unironisch das Singleton pattern verwenden

Was ist so schlimm mit ihm?

iamsteffen Avatar
iamsteffen:#9956

>>9951
Nichts ist schlimm mit dem Singleton pattern. Der Umstand, DASS du ihn benutzt legt nahe, dass du Software design lernen solltest, da du sehr wahrscheinlich richtig schlimme Entscheidungen triffst, wenn du glaubst, dass du ihn brauchst

csswizardry Avatar
csswizardry:#9967

>>9956
Ok. Meine Datenbankabstraktionsgeschichte ist immer ein Singleton. Ich muss wohl nochmal in der Schule hin und lernen. m(