_D4rk_: OOP - Einfach Genial oder das letzte was man braucht?[PHP]

Hi zu allen,
ich bins mal wieder, ich möchte euch heute eine kleine frage stellen die oft für großes Interesse in der Programmiererszene und für noch mehr Diskusionsstoff sorgt, nein schon fast dafür steht.
Das Thema unschwer zu erkennen ist "OOP - Himmel auf Erden oder Schwachsinn" aber heute mal nur für PHP.
Ich habe mich noch nicht direkt mit diesem Thema auseinander gesetzt. Ich erhoffe mir von euren Beiträgen das ich und alle die dieses Thema einmal lesen werden, eine Antwort auf die Frage "Macht es für mich Sinn OOP zu lernen und vor allem aktiv zu nutzen" zu bekommen.

mfg _D4rk_

  1. Hallihallo!

    "Macht es für mich Sinn OOP zu lernen und vor allem aktiv zu nutzen"

    Genau diese Frage habe ich mir vor wenigen Monaten auch gestellt. Ich war in Sachen PHP noch am Anfang, und hatte gerade die ersten Kleinigkeiten programmiert. Von OOP hatte ich nur aus C++ einigermassen Erfahrung.

    Am meisten beschäftigte mich in diesem Zusammenhang die Frage, ob es Sinn macht, Objekte zu kreieren, die nach dem Fertigladen der Seite, also in der Regel nicht mal einer halben Sekunde (sehr langsamer Server *g) wieder im Nirvana verschwinden.
    Ich habe es einfach mal darauf ankommen lassen, und einige meiner Skripte mit objektorientiertem Ansatz neu geschrieben. Und es hat sich gelohnt!

    Das Planen, Schreiben und spätere Erweitern des Codes fällt zumindest mir wesentlich leichter, da der gesamte Code einfach logischer und einfacher zu verstehen ist.

    Meine Antwort ist also: Ja, es macht Sinn.

    Viele liebe Grüße,
    Der Dicki

    1. Bin ich auch deiner Meinung. Vor allem wenn mehrere Leute an einem Projekt arbeiten macht es Sinn, da sich andere nicht um die innere Datenstruktur deines Bereichen kümmern müssen.

      Ausserdem ist eben wie schon erwähnt die Wartung und Erweitungung des Codes sehrviel einfacher, da man gezwungen ist den Code klar zu gliedern.

      Auch von mir eine deutliches JA.

      Gruß
      Moritz

      1. Hi,

        Auch von mir eine deutliches JA.

        ich schließe mich dem uneingeschränkt und ohne den geringsten Zweifel absolut an. In jedem Fall sollte man OOP beherrschen, wenn man sich im Bereich der Software-Entwicklung bewegen möchte.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. Hallo Moritz,

        Ausserdem ist eben wie schon erwähnt die Wartung und Erweitungung des Codes sehrviel einfacher, da man gezwungen ist den Code klar zu gliedern.

        Auch, wenn ich OOP nur empfehlen kann, ist diese Aussage mit Vorsicht zu genießen.
        Sebst in Java (das von Grund auf objektorientiert aufgebaut ist) ist es möglich, die OOP-Richtlinien zu durchkreuzen. Denn auch dort kann man einfach eine Klasse mit einer statischen main-Methode schreiben, die selbst wiederum nur auf statische Funktionen von der gleichen Klasse zugreift.

        Grüße

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
        1. Hi

          Natürlich kann man solche Konstrukte auch immer umgehen/falsch verwenden, aber das war ja nicht die Frage. Es ging drum, ob OOP, so wie es verwendet werden sollte sinnvoll ist oder nicht.
          Und dazu würde ich wie gesagt klar ja sagen.

          Gruß
          Moritz

          1. Hi,

            Es ging drum, ob OOP, so wie es verwendet werden sollte sinnvoll ist oder nicht.
            Und dazu würde ich wie gesagt klar ja sagen.

            ich nicht. Der Annahme, OOP zu _erlernen_ sei von Vorteil, stimme ich vorbehaltlos zu, nicht jedoch der Pauschalisierung, dessen Einsatz sei unbedingt sinnvoll. Bei komplexen und kompliziten Codes wird man OOP nicht missen wollen, aber das heißt nicht, dass es in jedem Fall die beste Wahl ist.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. echo $begrüßung;

    "OOP - Himmel auf Erden oder Schwachsinn"

    Ich mag solche Fragestellungen nicht, weil sie mir zu theoretisch sind. Du kannst bei sachlicher und anwendungsfallunabhängiger Betrachtung ein wunderschönes Patt zusammendiskutieren und bist dabei nicht weitergekommen. Du könntest dabei aber die Eigenschaften der verschiedenen Paradigmen kennengelernt haben, um sie im konkreten Fall gegeneinander abwägen und sie den Vor- oder Nachteilen zuordnen zu können, um dadurch den Entscheidungsprozess des vorliegenden Falls zu beeinflussen.

    Ich habe mich noch nicht direkt mit diesem Thema auseinander gesetzt. Ich erhoffe mir von euren Beiträgen das ich und alle die dieses Thema einmal lesen werden, eine Antwort auf die Frage "Macht es für mich Sinn OOP zu lernen und vor allem aktiv zu nutzen" zu bekommen.

    Frag nicht nach dem Sinn, wenn du etwas Neues kennenlernen kannst. Lern es einfach kennen, am besten unvoreingenommen, probier es aus, und greif dann später auf dieses Wissen zurück, um es als Für oder Wider in die Waagschale zu werfen.

    echo "$verabschiedung $name";

    1. "OOP - Himmel auf Erden oder Schwachsinn"

      Ich mag solche Fragestellungen nicht, weil sie mir zu theoretisch sind.

      Das ist genau die richtige Fragestellung. Und natürlich fällt die Antwort nicht so extrem aus wie die Frage scheinbar ist.

      Lern es einfach kennen, am besten unvoreingenommen, probier es aus, und greif dann später auf dieses Wissen zurück, um es als Für oder Wider in die Waagschale zu werfen.

      Learning by doing könnte hier zu Fehleinschätzungen führen, objektorientiertes Design ist den meisten nämlich erst einmal nicht intuitiv und dürfte demzufolge schwache Umsetzungen und schlechte Meinungen über OOP nach sich ziehen.

      Ich selbst mag OOP nicht, pflege und entwickle aber traditionell Verwaltungsprogramme, deren Komplexität in der DB angesiedelt ist, also in den Pozeduren der DB ("stored procedures").
      Da wäre es doof bspw. ein Objekt "Vetragsanfrage" in PHP zu "createn", wenn eine "SP_Vertragsanfrage_Create" bereitsteht (und zudem Prozeduren für CRUD, also bspw. "SP_Vertragsanfrage_Delete" und für alle implementierten Bearbeitungsmöglichkeiten einer Entität bzw. eines Entitätenrudels). Das wäre doppelt gemoppelt.