Stubbles

dg87

Erfahrenes Mitglied
Guten Abend,

Warum muss man bei stubble ein Interface an eine Klasse binden wenn ja die Klasse sowieso vom Interface abgeleitet ist? Ich raff das nicht****
 
Es hilft bei dem sog. Inversion of Control. Es kümmert sich um die Abhängigkeiten versch. Klassen.
Und da hackts bei mir
Beim erstellen mit der Methode bind muss ein Interface an eine Klasse gebunden werden und ich kapier ned warum.
Falls du mich trotzdem nicht verstehst schreibe ich morgen ein Beispiel lieg grad mim iPad im Bett :)
 
Ich werde morgen mehr darüber schreiben aber anhand dieses Artikels versteh ich es glaub ich
http://talks.frankkleine.de/inversion-of-control.pdf

Ich hab folgenden Satz vergessen: "man soll immer gegen eine Schnittstelle programmieren und nicht für die komplette Implementierung.

Deshalb bindet man wahrscheinlich immer ein Interface an die Klasse.
Also das stubbles hilft im Endeffekt beim injizieren von typehints.

Also laut dem Buch das ich lese (php Design Pattern) soll man immer gegen Schnittstellen programmieren wegen der Austauschbarkeit. Aber dafür hat man doch Factory Klassen ****
 
Also ich kapier schon wie stubbles funktioniert aber trotz googlen und der Seite von oben versteh ich nicht warum man ein Interface an eine Klasse bindet, wenn die Klasse ja eh von dem abgeleitet wird....
 
Deine Annahme ist zwar korrekt, aber du verwendest die falschen Wörter. Eine Klasse leitet nicht von einem Interface ab. Sie kann das Interface höchstens implementieren. Daher lautet das Schlüsselwort auch "implements" und nicht "extends". Eine Klasse kann nur von einer anderen Klasse ableiten.
 
Stimmt klar sorry. Aber warum bindet man die nochmal extra? Vll sieht das ja morgen jemand der mit stubbler schon Erfahrung hat. Aber vielen dank schon mal
 
Also das Thema Stubbles lass ich jetzt nicht, da ich es ohnehin nicht brauche demnächst.

Ich habem ich jetzt durch mehere Internet Beiträge gelesen, aber jetzt steh ich vor einem neuen Problem, das eigentlich mit dem Thema zu tun hat.
Ich verstehe den Unterschied zwischen Dependency Injection und IoC nicht (Inversion of Control).

Kann mir das jemdand mal ganz ganz einfach erklären, ich hab wirklich schon viel gelesen, aber der Unterschied ist mir nicht klar.

Edit:
Ich habe es halt so verstanden. Die Klassen sollten sich nicht darum kümmern müssen, wie sie an ihre Abhängigkeiten kommt, diese werden von außen in das Objekt injeziert. Man spricht dann von einer umgekehrten Abhängigkeit = Inversion of Control. D.h. Der Kontrollfluss bzw die Logik wird in eine Klasse eingespeist bzw injiziert.

So und Dependency Injection hat nichts mit dem Controll Fluss an sich zu tun, sondern ist im Endefekt nur die Injjektion. Heißt also wenn die klasse die injiziert wird keine Logik oder Kontroll fluss hat, dann ist es "nur" eine dependency injection?

Sehr verwirrend das ganze, aber das ist eben mein Problem. Für mich ist beides fast das selbe, nur dass IoC auf DI aufbaut.
 
Zuletzt bearbeitet:
Zurück