Bei der Gruppe, für die Sie eine Mitteilung verfassen, handelt es sich um eine Usenet-Gruppe. Wenn Sie in dieser Gruppe Nachrichten posten, ist Ihre E-Mail-Adresse für jeden im Internet sichtbar
ich würde gerne fast ausschliesslich mit Objekten arbeiten, habe aber manchmal das Gefühl, dass es totaler Schwachsinn ist, alles in Objekte aufzuteilen. Wenn ich eine Seite mit News, sonst. Artikeln, Downloads, Bildern, etc. habe, halte ich es für überflüssig, für jedes "Objekt" wirklich auch eine Klasse zu definieren. Wenn ich auf einer Seite 20 News anzeige, benötige ich dafür keine 20 Objekte, weil diese nach der Anzeige und dem Ende des Skripts schon wieder futsch sind. Wenn ich mit diesen Objekten "richtig" arbeiten könnte (also für mehrere Operationen, über Seiten hinweg) kann ich das ja noch verstehen, aber jedesmal die Objekte neu zu erstellen? Sicherlich mag es vorteile haben, um übersichtlichen und austauschbaren Code zu erstellen, aber da mein Programm zügig laufen soll (öfter, als ich den Code andern möchte), bin ich mit mir selbst im Konflikt.
Wie macht ihr das auf euren Seiten? Erstellt ihr konsequent immer Objekte? Wie läuft das bei Internetangeboten, wie eBay, Amazon, etc.? Erstellen die für jedes Element, was angezeit wird immer ein komplettes Objekt?
Wie gesagt, Kapselung des Codes ist für mich nachvollziehbar, aber wo fangen die Grenzen zum Überflüssigen für euch an?
Freue mich über viele gute ausführliche Ideen, in der Hoffnung, später effizienter arbeiten zu können. :)
> ich würde gerne fast ausschliesslich mit Objekten arbeiten, habe aber > manchmal das Gefühl, dass es totaler Schwachsinn ist, alles in Objekte > aufzuteilen. > Wenn ich eine Seite mit News, sonst. Artikeln, Downloads, Bildern, > etc. habe, halte ich es für überflüssig, für jedes "Objekt" wirklich > auch eine Klasse zu definieren. Wenn ich auf einer Seite 20 News > anzeige, benötige ich dafür keine 20 Objekte, weil diese nach der > Anzeige und dem Ende des Skripts schon wieder futsch sind. Wenn ich > mit diesen Objekten "richtig" arbeiten könnte (also für mehrere > Operationen, über Seiten hinweg) kann ich das ja noch verstehen, aber > jedesmal die Objekte neu zu erstellen? > Sicherlich mag es vorteile haben, um übersichtlichen und > austauschbaren Code zu erstellen, aber da mein Programm zügig laufen > soll (öfter, als ich den Code andern möchte), bin ich mit mir selbst > im Konflikt.
> Wie macht ihr das auf euren Seiten? Erstellt ihr konsequent immer > Objekte? > Wie läuft das bei Internetangeboten, wie eBay, Amazon, etc.? Erstellen > die für jedes Element, was angezeit wird immer ein komplettes Objekt?
> Wie gesagt, Kapselung des Codes ist für mich nachvollziehbar, aber wo > fangen die Grenzen zum Überflüssigen für euch an?
> Freue mich über viele gute ausführliche Ideen, in der Hoffnung, später > effizienter arbeiten zu können. :)
das kann so pauschal sicher keiner beantworten, da die Programmierweise von vielen Faktoren abhängt. Besonders gewichtig sind der Umfang des Projekts und damit die Anzahl der Entwickler, die Wiederverwendbarkeit sowie die Vorlieben eines Programmierers. Auch mit durchdachter strukturierter Programmierung kann man effektiv programmieren. Und umgekehrt kann ein übertriebener Einsatz der OOP auch Selbstzweck werden.
Bin aber auch auf die weiteren Antworten gespannt...
Ich programmiere strikt nach dem 3-Layer Programmaufbau, um meinen Code pflegeleicht zu halten. Das funktioniert wunderbar.
Zudem arbeite ich sehr viel mit includes, was meinen Code in kleine Häppchen aufteilt, die ebenso leicht zu pflegen sind, wie eine Klasse.
Auch Funktionen gibt es wenige bei mir. Ich programmiere ausschliesslich prozedual.
Das kommt nicht daher, weil ich pbjektorientiert nicht kann, sondern weil ich es für Schwachfug halte, aber das ist nur meine Einstellung für meine eigenen Arbeiten.
Ich denke, dass der Server immer mehr zu tun hat, wenn man Klassen und Methoden verarbeiten muss als wenn er prozedual ein paar If-Anweisungen ausführt.
Wenn ich Berechnungen und andere inhaltsstarke Konstrukte abarbeiten muss, benutze ich Funktionen. Das reicht mir eigentlich bislang.
Aus meiner Sicht bringt die Objektorientiertheit, wohlbemerkt in der "Webprogrammierung" garnichts.
Durch ein geringeres Einarbeitungsniveau neuer Programmierer in ein Projekt sinken bei prozedualer Programmierung die Folgekosten. Warum einfach machen, wenns schwer auch sein kann.
Aber jeder hat ja so seine Erfahrungen, deshalb bin ich auch gespannt auf andere Erfahrungen.
> ich würde gerne fast ausschliesslich mit Objekten arbeiten, habe aber > manchmal das Gefühl, dass es totaler Schwachsinn ist, alles in Objekte > aufzuteilen. > Wenn ich eine Seite mit News, sonst. Artikeln, Downloads, Bildern, > etc. habe, halte ich es für überflüssig, für jedes "Objekt" wirklich > auch eine Klasse zu definieren. Wenn ich auf einer Seite 20 News > anzeige, benötige ich dafür keine 20 Objekte, weil diese nach der > Anzeige und dem Ende des Skripts schon wieder futsch sind. Wenn ich > mit diesen Objekten "richtig" arbeiten könnte (also für mehrere > Operationen, über Seiten hinweg) kann ich das ja noch verstehen, aber > jedesmal die Objekte neu zu erstellen? > Sicherlich mag es vorteile haben, um übersichtlichen und > austauschbaren Code zu erstellen, aber da mein Programm zügig laufen > soll (öfter, als ich den Code andern möchte), bin ich mit mir selbst > im Konflikt.
> Wie macht ihr das auf euren Seiten? Erstellt ihr konsequent immer > Objekte? > Wie läuft das bei Internetangeboten, wie eBay, Amazon, etc.? Erstellen > die für jedes Element, was angezeit wird immer ein komplettes Objekt?
> Wie gesagt, Kapselung des Codes ist für mich nachvollziehbar, aber wo > fangen die Grenzen zum Überflüssigen für euch an?
> Freue mich über viele gute ausführliche Ideen, in der Hoffnung, später > effizienter arbeiten zu können. :)
On Wed, 12 May 2004 14:08:21 +0200, "Matthias Stiesch" <d...@gmx.net> wrote:
> [ganz viel Text]
> [Fullquote entsorgt]
nunja, schade eigentlich, dass es bisher auf drei Meinungen beschränkt geblieben ist. Hatte eigentlich mehr von dem Thread erwartet, weil dann endlich mal der ein oder andere hier ordentlich philosophieren könnte...
Hoffe mal, dass es noch mehr werden, bisher spricht ja nicht viel für OO bei webangeboten.
> nunja, schade eigentlich, dass es bisher auf drei Meinungen beschränkt > geblieben ist. Hatte eigentlich mehr von dem Thread erwartet, weil > dann endlich mal der ein oder andere hier ordentlich philosophieren > könnte...
> Hoffe mal, dass es noch mehr werden, bisher spricht ja nicht viel für > OO bei webangeboten.
> bis dahin, > Matze
Hallo Matze,
ich habe früher auch nix von OO gehalten. 8-) Weil das geht doch auch alles mit Funktionen 8-). Jetzt schreibe ich eigentlich fast alles OO es ist einfach sauberer (auch wenn PHP im Vergleich zu Delphi/Pascal da noch einige Dinge fehlen) weil es mich dazu bringt die "Dinge" besser zu Planen.
Aber jeder wie er will. Darum wird eine Diskusion hier nicht viel bringen. Wichtig ist doch nur am Ende muss es gehen :-)
>Zudem arbeite ich sehr viel mit includes, was meinen Code in kleine Häppchen >aufteilt, die ebenso leicht zu pflegen sind, wie eine Klasse.
Bei mir hats pro Include eine Klasse bzw. andersrum.
>Auch Funktionen gibt es wenige bei mir. Ich programmiere ausschliesslich >prozedual.
?
>Das kommt nicht daher, weil ich pbjektorientiert nicht kann, sondern weil >ich es für Schwachfug halte, aber das ist nur meine Einstellung für meine >eigenen Arbeiten.
Schon mal intensiver OOP benutzt? Ich will nicht behaupten, daß es ein Allheilmittel wäre, aber es gleich als Schwachfug abzustempeln erscheint mir etwas zu hart. Auch bei der "Webprogrammierung".
>Ich denke, dass der Server immer mehr zu tun hat, wenn man Klassen und >Methoden verarbeiten muss als wenn er prozedual ein paar If-Anweisungen >ausführt.
Natürlich ist ein Overhead da, den hast Du bei unzähligen Includes aber auch, die wollen schließlich auch erstmal geladen werden. Zudem ist bei einer überschaubaren Anzahl von Objekten der Overhead praktisch kaum bzw. gar nicht meßbar. Man kann es natürlich auch übertreiben, wie mit allem.
>Wenn ich Berechnungen und andere inhaltsstarke Konstrukte abarbeiten muss, >benutze ich Funktionen. Das reicht mir eigentlich bislang.
>Aus meiner Sicht bringt die Objektorientiertheit, wohlbemerkt in der >"Webprogrammierung" garnichts.
Für mich schon.
Ich habs gerne, wenn ich bestimmte Funktionalitäten in eine für sich abgeschlossene Einheit (Klasse) stecken und diese in verschiedenen Zusammenhängen benutzen oder auch für andere Projekte erweitern kann.
Damit ergibt sich oftmals nicht nur schlanker und besser lesbarer Quellcode, sondern man kann vieles auch wunderbar automatisieren bzw. abstrahieren. Warum z.B. mit verschiedenen Datenbanken rumschlagen, wenns ein
$results = $db->query('SELECT ...'); foreach($results as $r) { ... }
auch tut?
>Durch ein geringeres Einarbeitungsniveau neuer Programmierer in ein Projekt >sinken bei prozedualer Programmierung die Folgekosten.
Bei OOP genauso. Die Interna einer Klasse interessieren nicht, einzig die Schnittstelle. Gib dem Programmierer eine Klasse, sag was sie macht und wie er diese Funktionen nutzen kann, und er wird sie nutzen können.
>Warum einfach machen, >wenns schwer auch sein kann.
> Durch ein geringeres Einarbeitungsniveau neuer Programmierer in ein > Projekt sinken bei prozedualer Programmierung die Folgekosten. Warum > einfach machen, wenns schwer auch sein kann.
Im Gegenteil. Prozeduraler Code neigt zu Seiteneffekten, deren Beseitigung oft sehr teuer wird. Die Kapselung bei OOP vermeidet dies wirksam. Fertige Klassen können ohne Sorge als Blackbox verwendet werden.
MfG Niels
-- Eigendlich is n Standart in der Rechtschreibung föllig egal. Hauptsache is, mann ferstet mich! Ich kapier nur ned, wiso der PHP-Pharser immer mekert?