Naps: Noch zum Thema OOP

Beitrag lesen

> Dazu formulierst du das ganze am Besten in Prosa.

Jede Klasse sollte in einem Satz formulierbar sein, und zwar ohne die Verwendung des Wortes "und". Dadurch stellst du sicher, dass deine Klasse genau eine Bedeutung hat (das ist das S in SOLID). Wenn du irgendeine Klasse (bsp.: die Auto-Klasse) von einer DatabaseConnectionFactory (wenn ich deine Klasse mal so nennen darf), lautet die Beschreibung auf einmal: "Die Klasse Auto beschreibt ein Auto und kann Datenbank-Verbindungen aufbauen". *piiiiep* ZONK!

Ok, aber nehmen wir mal an ich will ein Internes Message System machen (um jetzt doch ein Beispiel zu nennen) wie man es so oft bei diversen Foren sieht. Hier könnte ich 10 "unds" in die Beschreibung der Klasse packen.

Wäre es hier z.B. sinnvoll eine Klasse für alle Aktionen zu einer Nachricht (Speichern, als gelesen markieren, löschen, usw.) und eine Klasse für alle Aktionen für die gesamten Nachrichten (Posteingang, Postausgang, usw.). Oder doch alles in einer Klasse?

Du suchst nach dem Prinzip Dependency Injection. Schau z.B. mal bei PHP The Right Way, da ist es erklärt. Meistens nutzt man in PHP einen Dependency Injection Container, welcher sich um das Instanziieren deiner Objekte kümmert (inkl. derer Abhängigkeiten). Irgendwo vorne greifst du dann auf das erste Objekt zu, welches du brauchst; dieses ist dann durch den DI-Container vollständig aufgebaut.

Perfekt, danke!

MfG Naps