php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 04.08.2011, 01:08  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

[OT]Hmmm, du dekorierst deine Matratze mit Möbeln?[/OT]
fab ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.08.2011, 01:16  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Es geht eben nicht um Konfiguration (das ist nur ein zusätzlicher Aspekt) sondern um die Bereitstellung von Abhängigkeiten.
Ah.. ich glaube jetzt fällt der Groschen. Das heisst, einige Konstruktoren / Methoden von Klassen / Objekten, die Teil des DI-Containers sind, benötigen wiederum andere Klassen / Objekte aus dem DI-Container?



PHP-Code:
class EinfacherContainerZurVeranschaulichung {
    
    public function 
getBett() {
        
$bett = new Bett();
        
$bett->konfiguriere($this->holeKonfigurationFuer('bett');
        
$bett->setDefaultMatratze($this->getMatratze()); // DI
        
return $bett;
    }

    public function 
getMatratze() {
       
$ma = new Matratze();
       
$ma->setTyp(Matratze::KALTSCHAUM);
       
$ma->setInhalt($this->getFeder()); // DI
       
return $ma;
   }
 

(dein Beispiel kam dem ja schon sehr nah)

Zitat:
Zitat von fab Beitrag anzeigen
Das ist wenn überhaupt* eine pervertierte Form von Constructor Injection [...] ich verstehe nicht, warum ein Möbel ein Holzmöbel benutzen sollte, welches wiederum ein Bett benutzt. Aber vielleicht ist das Beispiel auch nur zu unsinnig
Ich habe bewusst ziemlich übertrieben, das Wort "pervertiert" traf es schon ganz gut
__________________
dsentker ist offline   Mit Zitat antworten
Alt 04.08.2011, 08:07  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
aber ich verstehe nicht was die Bindings in der Konfiguration sollen. Gehst du davon aus, dass ein bzw. mehrere Config-Angaben in verschiedenen DI-Container-Elementen mehrfach vorkommen? Oder warum werden sie nicht direkt den Services zugeordnet?
Einmal das und zum anderen, damit diese Parameter nicht in der ganzen Konfigurationsdatei rumfliegen.
Zitat:
as heisst, einige Konstruktoren / Methoden von Klassen / Objekten, die Teil des DI-Containers sind, benötigen wiederum andere Klassen / Objekte aus dem DI-Container?
Richtig
xm22 ist offline   Mit Zitat antworten
Alt 04.08.2011, 09:28  
Erfahrener Benutzer
 
Registriert seit: 26.11.2008
Beiträge: 264
dsentker befindet sich auf einem aufstrebenden Ast
Standard

Okay, dann denke ich es verstanden zu haben. Vielen Dank.
__________________
dsentker ist offline   Mit Zitat antworten
Alt 07.08.2011, 18:03  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Vorsicht mit Vergleichen zwischen decoration und dependency injection! Die beiden Pattern/Paradigmen sind nicht für den selben Zweck gedacht insofern kann hier nicht von "Präferenz" gesprochen werden.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dependency Injection Container Anyone PHP-Fortgeschrittene 33 16.06.2011 08:28
jQuery <div> Container generieren lassen ? dreamcatcher JavaScript, Ajax und mehr 5 23.02.2011 14:01
[Erledigt] Mehrere DIV Container mit einem Klick ändern (mit mehreren Request Aufrufe Lebenssonde JavaScript, Ajax und mehr 11 26.08.2010 09:01
Netz von Objekten mit Abhängigkeiten darstellen/zeichnen serPHPico PHP-Fortgeschrittene 12 25.08.2010 18:52
kürzeren div container authoatisch der höhe des contends anpassen litterauspirna HTML, Usability und Barrierefreiheit 15 29.07.2009 00:57
2 div Container immer gleich lang Kein Genie HTML, Usability und Barrierefreiheit 4 27.07.2009 13:38
Links vom Untermenü in Container öffnen Surfer PHP Tipps 2008 0 27.12.2008 19:24
[Erledigt] Zentrieren von a Blocks im DIV Container Daniel HTML, Usability und Barrierefreiheit 21 24.09.2008 09:37
[CSS] Container in Container Igäl HTML, Usability und Barrierefreiheit 5 04.09.2007 11:29
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
IE6: Container mit Float dabei wird margin doppelt gewertet DonTermi HTML, Usability und Barrierefreiheit 1 11.01.2007 09:02
CSS: Verschachtelter Container und Text danach HTML, Usability und Barrierefreiheit 2 01.12.2005 10:00
[Erledigt] Container im Firefox falsch dargestellt HTML, Usability und Barrierefreiheit 27 15.08.2005 23:18
&amp;lt;div&amp;gt;- container vertikal auf seite zentrieren HTML, Usability und Barrierefreiheit 3 08.05.2005 11:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum