Andreas Dölling: Grundsatzfragen zur Verwendung von Klassen

Beitrag lesen

Hallo,

puh, damit wirfst Du hier ein Thema auf, das sehr umfangreich _und_ komplex ist, und über das schon jede Menge geschrieben wurde von Leuten, die weit mehr Ahnung haben als ich.

Mit den Klassen sollte ich das dann - so dachte ich mir zumindest - anders machen. Ist es (logisch) richtig, dass eine Klasse sämtlichen Code "von sich" enthält? Die Klasse "Benutzerverwaltung" beinhaltet also sowohl Datenbankfunktionen mit SQL-Anweisungen als auch z.B. "draw"-Methoden für die Ausgabe auf dem Bildschirm?

Eine allgemeingültige Formel dafür, wie Du Deine Klassen optimal aufbauen und wie fein Du dabei die Funktionsbereiche trennen mußt, gibt es nicht. Schau Dir am besten einmal an, wie andere Leute das machen. PHP-Klassen und -Klassenbibliotheken gibt es im Netz ja zuhauf (z.B. Stichwort "PEAR" -> http://pear.php.net/).
Sinnvollerweise sorgt man aber dafür, daß eine Klasse wirklich nur das enthält, wofür sie da ist und worauf ihr Name hindeutet. Packt man alle Funktionalität in eine Klasse, so hat der objektorientierte Ansatz überhaupt keinen Vorteil mehr.

Ist es sinnvoll, eine Art System-Klasse à la Main-Methode zu schreiben, die sich um das Grobe kümmert? Also z.B. HTML-Code von <html> bis <body> generiert - oder dafür doch besser Templates?

Recherchiere mal nach dem Stichwort "Model View Controller" bzw. "MVC" und nach "Design Patterns"!

Ciao,
Andreas

--
"Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)