Funktionales vs Objektorientiertes Programmieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Danke mermshaus das du dir die Mühe für mich gemacht hast !

    Kommentar


    • #17
      hallo zusammen

      ich möchte auch nochmal etwas dazu schreiben.
      Ich programmiere in OOP wie auch funktional, so wie ich es brauche.

      was mich aber mehr interessieren würde ist ob es besser wäre für jede Aufgabe/Seite eine eigene .php zu erstellen oder ob es unerheblich ist alles über eine Datei laufen zu lassen, wie ich es schon bei Foren gesehen habe, also daß die index.php dann die anderen .phps einbindet. Ich hab auch schon drüber nachgedacht ob es nicht Sinn macht keine global.php mehr zu erstellen, weil ja jede .php auf diese zugreift.

      dann noch was anderes wäre es auch sinnvoll jede Funktion in eine eigene Datei zu schreiben und diese dann nur einzubinden wenn die Funktion gebraucht wird.

      wäre mal interessant eure Meinung dazu zu hören.

      @lala OOP gibts auch in C und anderen Programmiersprachen

      Kommentar


      • #18
        Allgemein gilt die Regel: 1 Klasse = 1 Datei

        Bei den meisten Applikationen, die nach dem MVC-Muster funktionieren, gehen (fast) alle Aufrufe über den sogenannten Dispatcher.
        Zuletzt geändert von h3ll; 26.05.2011, 13:42.

        Kommentar


        • #19
          Klassen ist klar für jede Klasse eine Datei

          aber ich mein auch bei Funktionen wär es besser für jede Funktion eine Datei und dann wärs noch am besten wenn diese Datei erst eingebunden wird wenn die Funktion aufgerufen wird, würde wohl auch ein paar Performance Vorteile bringen.

          und was sagst du zu dem mit der global.php

          denn jetzt ist es ja noch so daß du jede benötigte Datei über require laden musst und diese dann in den Speicher geladen wird.

          Kommentar


          • #20
            Keine Ahnung, ich programmiere nicht prozedural. Und ich mache auch einen großen Bogen um alles, was "global" im Namen hat

            Aber man kann prozedurale Funktionen auch ähnlich wie Klassen aufbauen. Also alle Funktionen, die zu einer Gruppe (= "Klasse") gehören, würde ich in eine Datei speichern. Und ähnlich dem use bei Namespaces würde ich sie dann ganz am Anfang der jeweiligen Datei mit require_once einbinden.

            Beispiel OOP (PersonRepository.php):
            PHP-Code:
            class PersonRepository {
                public function 
            load($id) {
                    
            /* ... */
                
            }
                public function 
            save(Person $person) {
                    
            /* ... */
                
            }

            Beispiel prozedural (person_repository.php):
            PHP-Code:
            function person_repository_load($id) {
                
            /* ... */
            }
            function 
            person_repository_save(array $person) {
                
            /* ... */

            Nur prozedural ist das ganze halt deutlich aufwändiger, weil man zB. jedesmal prüfen muss, ob die Daten, die man bekommt, wirklich das sind, was sie sein sollen. Aus dem Grund würde ich OOP klar vorziehen, weil es einfach weniger Arbeit macht.
            Zuletzt geändert von h3ll; 26.05.2011, 14:04.

            Kommentar


            • #21
              danke für die Erklärung was du meinst.

              überhaupt nicht prozedural? es gibt ja auch kleine Funktionen die man immer wieder gebrauchen kann. wie gesagt ich programmier nur OOP wo es wirklich Sinn macht wie Datenbankabfragen oder Template-Klasse.

              ich versuche immer noch einen Weg zu finden Funktionen bzw. die Dateien erst dann einzubinden wenn sie gebraucht werden.

              Kommentar


              • #22
                Zitat von phpsven Beitrag anzeigen
                überhaupt nicht prozedural?
                Zumindest nicht "richtiges" programmieren. Prozedural mache ich höchsten irgendwelche kleinen Wegwerfscripts, wo die Wiederverwendbarkeit relativ unwichtig ist.

                Zitat von phpsven Beitrag anzeigen
                es gibt ja auch kleine Funktionen die man immer wieder gebrauchen kann.
                Und warum kann man keine Klasse draus machen?

                Zitat von phpsven Beitrag anzeigen
                wie gesagt ich programmier nur OOP wo es wirklich Sinn macht wie Datenbankabfragen oder Template-Klasse.
                Und die Business-Logic?

                OOP macht IMHO fast überall Sinn.

                Zitat von phpsven Beitrag anzeigen
                ich versuche immer noch einen Weg zu finden Funktionen bzw. die Dateien erst dann einzubinden wenn sie gebraucht werden.
                Dafür gibts require_once(). Aber solche Probleme hättest du bei OOP gar nicht. Wie gesagt: OOP nimmt einem Arbeit ab.

                Kommentar


                • #23
                  Zitat von combie Beitrag anzeigen
                  Den Erfahrungsschatz von über 30 Jahren und endlosen MannJahren einfach so über Bord werfen?
                  Wenn du meinst auf OOP verzichten zu können, dann musst du das tun.
                  Sorry, aber Funktionale Programmierung[1] ist ein paar Jahrzehnte älter als OOP. Da dürfte (nach deiner Rechnung) etwas mehr Erfahrung zusammengekommen sein.

                  Zitat von lalaland
                  Falls es noch jemanden gibt der gute Gründe pro funktionales programmieren hat, kann er sie hier gerne noch vermerken.
                  Du hast es so gewollt:
                  Beating the Averages
                  What Made Lisp Different
                  Succinctness is Power
                  Welcome to the SICP Web Site

                  Ich hör mir alle Argumente gerne an.


                  Wenn nicht ist die Diskusion pro OOP und zu meiner zufriedenheit gelaufen.
                  ><((((º> ???

                  --
                  [1] Oder hast du aus dem OP messerscharf geschlussfolgert, dass der mit "funktionalem Programmieren" was anderes meint, als was man gemeinhin darunter versteht? Wobei das "imperative oder prozedurale Programmierparadigma" auch schon etwas älter sein dürfte ...
                  Zuletzt geändert von fireweasel; 26.05.2011, 19:29.
                  Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                  Kommentar


                  • #24
                    Zitat von fireweasel Beitrag anzeigen
                    Sorry, aber Funktionale Programmierung[1] ist ein paar Jahrzehnte älter als OOP. Da dürfte (nach deiner Rechnung) etwas mehr Erfahrung zusammengekommen sein.
                    Keiner hindert dich, die Funktionen, welche du vor 80 Jahren geschrieben hast weiter zu verwenden. Aber heutzutage OOP zu verweigern halte ich für relativ dumm.
                    Wir werden alle sterben

                    Kommentar


                    • #25
                      Noch Älter sind Rechenschieber. Nehmt doch einfach die.
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #26
                        Zitat von fireweasel Beitrag anzeigen
                        [1] Oder hast du aus dem OP messerscharf geschlussfolgert, dass der mit "funktionalem Programmieren" was anderes meint, als was man gemeinhin darunter versteht? Wobei das "imperative oder prozedurale Programmierparadigma" auch schon etwas älter sein dürfte ...
                        Na ja erst mal war meine These etwas provokant formuliert um User zu animieren die auch noch andere Meinungen zu schreiben. Zweitens hast du wirklich damit recht das ich wohl funktionale Programmierung mit dem prozeduralem Programmierparadigma verwechselt habe. Leider ist das Kind jetzt wohl schon in den Brunnen gefallen und ich kann die Topic nicht mehr ändern.

                        Weiterhin danke für das mit diskutieren. Hoffe das das Thema jetzt in die richtigen Bahnen läuft .
                        Mfg Lalaland

                        Kommentar


                        • #27
                          Zitat von combie Beitrag anzeigen
                          Aber heutzutage OOP zu verweigern ...
                          Wer hat sich der Anwendung von OOP verweigert? In PHP kann man gar nichts anderes.

                          Zitat von combie Beitrag anzeigen
                          ... halte ich für relativ dumm.
                          Zum Glück hast du das Wörtchen "relativ" davorgesetzt ... ;-)

                          The semester’s over Existential Type

                          Zitat von combie Beitrag anzeigen
                          Keiner hindert dich, die Funktionen, welche du vor 80 Jahren geschrieben hast weiter zu verwenden.
                          Das verstehe wer will. Ich bezog mich lediglich auf dein Argument, das nach dem Motto "Alt, daher bewährt, daher gut" gestrickt war. Wenn das nur für OOP gelten soll, aber nicht für alle andere Programmierparadigmen, ist es allerdings kein stichhaltiges Argument pro-OOP mehr.

                          Zitat von unset
                          Noch Älter sind Rechenschieber. Nehmt doch einfach die.
                          Oh, die konnte man auch programmieren? Ist mir gar nicht aufgefallen.

                          Zitat von lalaland
                          Na ja erst mal war meine These etwas provokant formuliert um User zu animieren die auch noch andere Meinungen zu schreiben.
                          Der Zweck einer Diskussion ist meistens der Austausch von Meinungen und Gegenmeinungen. Im besten Fall haben am Ende beide Seiten was dazugelernt. Schlecht ist nur, wenn alte Vorurteile wiedergekäut werden, die schon hundertmal anderswo durchgekaut wurden.

                          Zweitens hast du wirklich damit recht das ich wohl funktionale Programmierung mit dem prozeduralem Programmierparadigma verwechselt habe.
                          Mir ist auch erst nach dem Verfassen meines ersten Beitrags aufgefallen, dass hier gar nicht der übliche Krieg OOP-vs-FP stattfand ...
                          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                          Kommentar

                          Lädt...
                          X