Einzelnen Beitrag anzeigen
  #11 (permalink)  
Alt 31-05-2012, 11:57
Benutzerbild von mermshaus mermshaus
 Registrierter Benutzer
Links : Onlinestatus : mermshaus ist offline
Registriert seit: Jun 2009
Beiträge: 451
mermshaus wird schon bald berühmt werden
Standard

Zitat:
Zitat von h3ll
Ja. Aber so viele Stellen sind das nicht. Es sollte nur die Persistenzschicht Zugriff auf die Datenbankverbindung haben. Die Domänen- und Präsentationsschicht haben damit nix am Hut.
Ja. „Durchschleifen“ klingt immer so, als würde man irgendeinen Ballast, der allgemein absolut nichts mit der Teilkomponente zu tun hat, über 20 geschachtelte Methodenaufrufe weiterreichen.

Ich glaube, das ist mehr ein latentes Empfinden als ein tatsächliches Problem. Oder der Fehler liegt eben bereits im Design, auch wenn das jetzt natürlich einfach gesagt ist.

Die Vorstellung sollte eher so gehen: Wenn ich ein Objekt irgendwo innerhalb einer Teilkomponente benötige, hängt die gesamte Teilkomponente von diesem Objekt ab.[1]

Global state ist prinzipiell zu vermeiden (dazu zählen auch Singletons, Registries, für mich auch (statische) Klassenvariablen). Der new-Operator sollte nach Möglichkeit nur in dedizierten Fabrikmethoden auftauchen.

So was ist aber glaube ich nur sinnvoll an echten Beispielen zu diskutieren. Falls da jemand was hat, bei dem etwa das Problem des Durchschleifens besteht, sehr gerne.



1: Meiner Erfahrung nach hat Code da die Angewohnheit, sich selbst zu organisieren. Wenn dir bei der Programmierung irgendwas unsauber vorkommt, ist es zumeist auch unsauber. Bei mir wird das meist darin offensichtlich, dass ein Objekt etwas kann, auf das ich an einer Stelle, an der ich das Objekt nutze, keinen Zugriff gestatten will. Das ist in der Regel ein Anzeichen dafür, dass mein Objekt zu viel tut und ich ein weiteres Objekt einführen sollte, um Teilfunktionalität zu kapseln, oder dass ich ein Objekt von zu weit oben in der Objekthierarchie übergeben habe. Wenn ich nur Zugriff auf den Logger haben möchte, brauche ich etwa nicht die gesamte Anwendung zu übergeben (Gesetz von Demeter).
Mit Zitat antworten