Thread Objektorientierung vs. Prozedural (10 answers)
Opened by pq at 2007-06-03 18:44

pq
 2007-06-03 18:44
#77209 #77209
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
ich wollte mal fragen, was ihr so für erfahrungen gemacht habt,
speziell bei webprogrammierung, selbst geschriebenen frameworks etc.

ich benutze sehr oft Objekte, als Beispiel bei einem Framework:
Code: (dl )
1
2
3
4
5
6
7
8
9
Context
 - Request
   - zugriff auf cgi-parameter, request-header, cookies
 - Response
   - Methoden wie add_header, set_content_type, add_cookie
 - Session
   - User
   - Methoden, um die Session zu invalidieren etc.
 - Datenbank-Infos

In der eigentlichen Subroutine, die zu dem Request gehört, übergebe ich
dann nur das Context-Objekt, das alles beinhaltet, was die Subroutine braucht.
Das Context-Objekt kontrolliert, wann der Header geschrieben wird;
in der eigentlichen Applikation muss man sich darum nicht kümmern,
kann es aber beeinflussen.

Wenn man keine Objekte benutzt, sondern einfache Datenstrukturen,
muss man immer sicherstellen, dass auch das drinsteht, was
erforderlich ist. Zudem muss man statt Methoden Funktionsaufrufe
machen, entweder mit dem vollen Namen oder indem man die
Funktionen importiert, was den Namensraum zumüllt und wobei die
Kontrolle verlorengeht, welche Funktion von wem überhaupt aufgerufen
werden kann/darf.
Ausserdem erhöht es die Modularität, d.h., man kann die einzelnen
Teile auch woanders verwenden.

Ich finde, es gibt genügend CPAN-Module, die nicht objektorientiert
sein müssen/sollten, da sie einfache Funktionen zur Verfügung stellen,
die in sich geschlossen sind und nicht von anderen Programmteilen
abhängig sind, aber in einem Framework sind Objekte auf jeden
Fall von Vorteil.

Wie seht ihr das? Gibt es Fans von prozeduraler Programmierung,
die damit schon grössere Frameworks geschrieben haben?\n\n

<!--EDIT|pq|1180882401-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Objektorientierung vs. Prozedural