Mailinglisten-Archive |
Hi Daniel, Zitat von D.Herbort at gmx.de: > Hab da mal eine kleine Frage. Ich habe vor einige häufig von mir benutzte > Funktionen (eigene Funktionen versteht sich) in Klassen zu packen damit ich > sie > einfacher in verschiedene Projekte einbinden kann. > > Leider hab ich aber keine Ahnung wie sich das auf die Geschwindigkeit > auswirkt. Wie sind so eure Erfahrungen? Werden Funktionen in einer Klasse > merklich > langsamer ausgeführt als wenn ich sie z.B. mit Hilfe einer Datei nur include? > Für das Aufrufen der Klasse und das Erstellen eines neuen Objekts geht doch > sicherlich mehr Zeit drauf als wenn ich nur die Funktion aufrufe (was ja > eigentlich logisch ist). > Ich würde gerne wissen ob sich bei beiden Arten die Geschwindigkeiten > merklich unterscheiden oder nicht. also ich habe jetzt keine Messdaten. :-) Aber ich habe neulich eine Zeiterfassung, die ich programmiert hatte, von Spaghetti-Code auf objektorientierte Programmierung (OOP) umgestellt. Einen Geschwindigkeitsunterschied konnte ich dabei subjektiv nicht wahrnehmen. Die Geschwindigkeitsdifferenzen sind vermutlich marginal. Selbst wenn es etwas laenger dauern sollte, wenn man mit Klassen arbeitet, weil erst einmal ein Objekt der Klasse instanziert werden muss (oder wie das heisst :-) ), so habe ich doch den Verdacht, dass dieser Nachteil dadurch mehr als wett gemacht gemacht wird, dass der entsprechende Spaghetti-Code viel unuebersichtlicher und vermutlich umstaendlicher und redundant programmiert sein wird. > Vorteil einer Klasse ist natürlich auch, dass die enthaltenen Funktionen und > Variablen vom Rest des Scripts soweit abgekapselt wären was bei Funktionen > die in verschiendene Projekte eingebaut werden ja durchaus Sinn machen würde. > So von wegen doppelt vergebene Funktionnamen usw. was ja schon mal > unbeabsichtigt vorkommen kann, besonders wenn mehrere Leute am Projekt > sitzen. Frueher habe ich ohne Klassen und Objekte gearbeitet, weil ich mit dem objektorientierten Denken nicht zurecht kam. Dann habe ich mich im Rahmen eines Projekts mal mit Java und zwangslaeufig mit OOP beschaeftigt. Irgendwann habe ich den objektorientierten Ansatz dann verstanden. Vor allem habe ich endlich verstanden, wofuer OOP gut ist. :-) Ich habe mittlerweile meine Website und besagte Zeiterfassung objektorientiert programmiert und muss sagen, dass OOP einfach nur geil ist. :-))) Deine Programmierung wird dadurch enorm uebersichtlich und flexibel. Ich habe frueher immer Probleme gehabt, redundanzfrei zu programmieren und nachtraeglich zu erweitern oder zu skalieren. Das ist heute mit OOP kein Problem mehr. Viele Gruesse Lutz
php::bar PHP Wiki - Listenarchive