Schöne Referenzn

  • Antworten:6
Chris. Harm.
  • Forum-Beiträge: 5

03.12.2010, 06:58:13 via Website

Hallo,
ich habe die gleiche Frage bereits in einem englischen Forum gestellt, dort aber keine Antwort bekommen.
Die Frage lautet, wie übergebe ich (auf schöne Weise) einer Activity die Referenz zu einem Objekt?
Da ich den Konstruktor ja nicht selbst aufrufen kann und es somit auch etwas schwieriger ist an die Referenz der Activity zu kommen,, bevor sie aktiv ist.

Hier ein kleines Beispiel dazu:


Ich möchte, die Referenz der Guifassade(GuiFacade) an die SecondActivity weiter geben.

Antworten
Ansgar M
  • Forum-Beiträge: 1.544

03.12.2010, 07:09:35 via App

Hmm,
mit intent.putExtra kannst du Werte mitliefern.. Oder meinst du das anders?
Lg Ansgar

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

03.12.2010, 08:41:55 via Website

könntest guifacade auch als singleton implementieren, dann bräuchtest du gar keine referenz übergeben...

Antworten
Chris. Harm.
  • Forum-Beiträge: 5

03.12.2010, 08:57:26 via Website

Ich meine, ich will keine basis Datentypen übergeben sondern Referenzen.
putExtra nimmt nur basis Datentypen.

Singletons sind hässlich und schlecht, da statische Referenzen auf Objekte den lebenszyklus der Objekte unüberschaubar machen.
Außerdem erschweren statische Referenzen das Testen und machen den Code schlechter lesbar.

Hier zB ein Artikel dazu:
http://code.google.com/p/google-singleton-detector/wiki/WhySingletonsAreControversial

— geändert am 03.12.2010, 09:01:35

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

03.12.2010, 10:29:34 via Website

Soso. Hässlich und schlecht. Wie ich doch Schwarzweissmalerei liebe... Es ist mir schon klar, dass dieses Pattern mit Bedacht einzusetzen ist, aber wenn du aufgrund eines Artikels gleich Bedacht ausschaltest und alles schwarz malst, dann such halt weiter nach einem anderen Weg ;-)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

03.12.2010, 13:24:55 via Website

Schiebe das ganze in das Application Object und das ist eigendlich auch nix anders als ein singleton. allerdings sollte man dieses nicht überfrachten.
wieso willst du aber eine facade zum UI haben ? hierbei müsstest du den context etc mitschleppen was das ganze eher unbrauchbar macht...

Singletons sind nicht per default schlecht, unter J2EE oder anderen Umständen können diese aber nicht gerade die Flexibilität erhöhen und reduzieren die testbarkeit des Codes. Dennoch ist ein singlton ein hinweis es besser machen zu können.

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
Chris. Harm.
  • Forum-Beiträge: 5

03.12.2010, 15:08:35 via Website

Ich wollte es hier auch nicht kategorisch ausschließen.
Ich habe nur gehofft, dass es ein bestimmte Schnittstelle oder der Gleichen gibt, ohne auf das "Standard-Kram" zurück greifen zu müssen.
Es mag sein, dass ich da schwarz male.
Ich möchte nur vermeiden das Singleton-Pattern allzu häufig einzusetzen.
Darum liegt es erstmal in der Böseschublade, solange es sich vermeiden lässt.
Ich hatte wie gesagt gehofft es gibt einen dafür vorgesehenen Mechanismus.

Vielen dank für schnellen und guten Antworten.

— geändert am 03.12.2010, 15:09:07

Antworten