Ankündigung

Einklappen
Keine Ankündigung bisher.

Models filtern

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von jack88 Beitrag anzeigen
    Gibt es zu dieser Behauptung evtl. auch einen Link?

    vg
    jack
    google: wiki mvc -> erster Absatz.
    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

    Kommentar


    • #17
      Du hast auch sicher Verweise auf Informationen von Reenskaug,...die deine Aussagen untermauern

      http://heim.ifi.uio.no/~trygver/1979...979-12-MVC.pdf

      Stimmt Deiner Meinung nach der Begriff "Datenmodell" im Wikipedia-Artikel mit der Beschreibung und Definition des Modells nach Reenskaug (dem Erfinder des MVC) überein?

      Interessant sind übrigens auch die Beschreibungen des Models in den verlinkten Artikeln (unter Weblinks auf http://de.wikipedia.org/wiki/Model_View_Controller):

      Portland Pattern Repository – Model View Controller
      Jeff Moore – Model View Controller (englisch)
      Martin Fowler – GUI Architectures (englisch)
      -

      Kommentar


      • #18
        Mit dem Englischen "wir legen uns da nicht so fest", ja. Mit dem Deutschen "Datenmodell", nein. Aber genau den Link hab ich erwartet.

        Spezifischer wird es bspw. dort definiert:
        - http://glossar.hs-augsburg.de/Model-...l_.28Modell.29

        3 Meter weiter wird es wiederum als Datenmodell definiert:
        - http://glossar.hs-augsburg.de/Model-...aradigma/Model

        Man möge jetzt annehmen das zumindest an einer Hochschule für angewandte Wissenschaften ein Wissenstand vermittelt wird der sich nicht von Seite A auf Seite B spezialisiert.

        Martin Fowler erklärt das Modell vielmehr als Rolle, dessen Aufgabe es ist Informationen zu repräsentieren ( ein Schelm der jetzt Daten mit Informationen assoziiert ). Grundsätzlich dessen Implementierung aber offen lässt.

        Hier sollte angemerkt sein das Fowler wie auch die anderen Autoren grundsätzlich Reenskaugs aussagen Interpretieren. Martin Fowler erklärt aber auch das MVC oftmals falsch verstanden wird und das das Ursprüngliche Pattern "MVC" eigentlich teil eines Frameworks war das Reenskaug '79 geschrieben hat und nicht als Entwurfsmuster explizit definiert wurde.

        Nachhaltig gesehen hatte dieses ursprüngliche MVC zwar enormen Einfluss auf das was wir heute unter MVC verstehen, hinsichtlich der Web Entwicklung erklärt Fowler aber alles das keine UI-Interaktion definiert als mögliches Modell. Man möge jetzt soweit gehen und dort hineininterpretieren das schlussendlich ein Model Daten oder Zustände liefern muss, was eine UI-Aktion nicht tun muss. Andeuten tut das Fowler mit der Definition das ein Model Daten und Methoden bereitstellt die nichts mit der Benutzerschnittstelle zu tun haben.

        In Summe haben wir also 5 ( Wiki DE, Wiki EN, Fowler, HSAB Wiki-Seite Paradigma, HSAB Wiki-Seite Paradigma/Model ) nicht gleiche Definitionen des MVC Models wobei ich persönlich der deutschen Wiki-Seite - generell - und der Erklärung von Fowler explizit Vorrang gebe, da ersteres eine allgemeinere Beschreibung der MVC-Definition ist, die auch Anfänger grundsätzlich verstehen ohne jedes 3te Wort zu googlen und zweiteres eine Definitionserklärung ist, die dem am nächsten kommt was Reenskaug damals implementiert also quasi erfunden hat aber dennoch bezug auf dessen Einsatzumfeld nimmt, denn in den seltensten Fällen kriegst du das was Reenskaug damals in Smalltalk umgesetzt hat, heute in die Schublade "PHP".

        Ich beziehe mich im Übrigen auf Fowlers Werk: "Patterns für Enterprise-Application-Architekturen", genauer auf die deutsche Übersetzung ( 978-3826613784 ).
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar


        • #19
          Zitat von tr0y Beitrag anzeigen
          Mit dem Englischen "wir legen uns da nicht so fest", ja. Mit dem Deutschen "Datenmodell", nein. Aber genau den Link hab ich erwartet.

          Spezifischer wird es bspw. dort definiert:
          - http://glossar.hs-augsburg.de/Model-...l_.28Modell.29

          3 Meter weiter wird es wiederum als Datenmodell definiert:
          - http://glossar.hs-augsburg.de/Model-...aradigma/Model

          Man möge jetzt annehmen das zumindest an einer Hochschule für angewandte Wissenschaften ein Wissenstand vermittelt wird der sich nicht von Seite A auf Seite B spezialisiert.

          Martin Fowler erklärt das Modell vielmehr als Rolle, dessen Aufgabe es ist Informationen zu repräsentieren ( ein Schelm der jetzt Daten mit Informationen assoziiert ). Grundsätzlich dessen Implementierung aber offen lässt.

          Hier sollte angemerkt sein das Fowler wie auch die anderen Autoren grundsätzlich Reenskaugs aussagen Interpretieren. Martin Fowler erklärt aber auch das MVC oftmals falsch verstanden wird und das das Ursprüngliche Pattern "MVC" eigentlich teil eines Frameworks war das Reenskaug '79 geschrieben hat und nicht als Entwurfsmuster explizit definiert wurde.

          Nachhaltig gesehen hatte dieses ursprüngliche MVC zwar enormen Einfluss auf das was wir heute unter MVC verstehen, hinsichtlich der Web Entwicklung erklärt Fowler aber alles das keine UI-Interaktion definiert als mögliches Modell. Man möge jetzt soweit gehen und dort hineininterpretieren das schlussendlich ein Model Daten oder Zustände liefern muss, was eine UI-Aktion nicht tun muss. Andeuten tut das Fowler mit der Definition das ein Model Daten und Methoden bereitstellt die nichts mit der Benutzerschnittstelle zu tun haben.

          In Summe haben wir also 5 ( Wiki DE, Wiki EN, Fowler, HSAB Wiki-Seite Paradigma, HSAB Wiki-Seite Paradigma/Model ) nicht gleiche Definitionen des MVC Models wobei ich persönlich der deutschen Wiki-Seite - generell - und der Erklärung von Fowler explizit Vorrang gebe, da ersteres eine allgemeinere Beschreibung der MVC-Definition ist, die auch Anfänger grundsätzlich verstehen ohne jedes 3te Wort zu googlen und zweiteres eine Definitionserklärung ist, die dem am nächsten kommt was Reenskaug damals implementiert also quasi erfunden hat aber dennoch bezug auf dessen Einsatzumfeld nimmt, denn in den seltensten Fällen kriegst du das was Reenskaug damals in Smalltalk umgesetzt hat, heute in die Schublade "PHP".

          Ich beziehe mich im Übrigen auf Fowlers Werk: "Patterns für Enterprise-Application-Architekturen", genauer auf die deutsche Übersetzung ( 978-3826613784 ).
          Wir haben nur eine Definition von MVC. Jedes "Framework" kann für sich MVC weiter einschränken (daher auch die unterschiedlichen Interpretationen). "View" = Userinteraktion, bzw. Darstellung von Information, "Controller" ist Routing von Information und Delegation. Alles andere ist "Model" zur Modellierung von irgendwas, was nicht View (ist gleichzeitig wieder ein Model) und Controller (ist gleichzeitig wieder Model) ist.

          Kommentar


          • #20
            Ganz ehrlich, das ist ein Thema zum im Kreis laufen.
            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

            Kommentar


            • #21
              Martin Fowler erklärt aber auch das MVC oftmals falsch verstanden wird
              Ja, leider sorgt die Beschreibung des MVC in Fowlers Buch „Patterns für Enterprise..“ ebenfalls für wenig Klarheit in der Hinsicht.

              Kapitel 14.1.1 S.365 (Model View Controller)
              „Die Model-Rolle ist ein Objekt welches die Informationen der Domäne repräsentiert.“
              3 Zeilen weiter:
              „In seiner reinsten Form ist das Modell ein Objekt innerhalb eines Domain Model“
              Und zum Domain Model (Kapitel 9.2 S. 136)
              „Ein Objektmodell der Domäne, das sowohl Verhalten als auch Daten umfasst.“ und weiter „ein Netz miteinander verbundener Objekte“.
              Also was denn nun bitteschön?

              Zumindest die anderen beiden (M)VC-Rollen werden bei Fowler (und auch woanders) relativ klar beschrieben:

              „Die View-Rolle repräsentiert die Anzeige des Modells in der Benutzerschnittstelle“
              „Der Controller nimmt die Eingaben des Benutzers entgegen, bearbeitet das Model und sorgt für die Aktualisierung der Anzeige.“
              Da MVC nur aus diesen drei „Rollen“ besteht, kann man daraus eigentlich nur das schlussfolgern was rkr bereits geschrieben hat: alles was kein Controller und keine View ist, muss das Modell sein.

              vg
              jack
              -

              Kommentar


              • #22
                Also was denn nun bitteschön?
                Domänenmodell != MVC Model.

                MVC ist vor allem ein Pattern der View-Schicht, bspw. um UI-Funktionalität abzubilden.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #23
                  Laut Fowler ist das Modell

                  "ein Objekt welches die Informationen der Domäne repräsentiert."
                  also

                  MVC Model != Präsentationsschicht-Model/ViewModel

                  und
                  ....In seiner reinsten Form ist das Modell ein Objekt innerhalb eines Domain Model
                  Also wo bitteschön ist bei MVC eigentlich das Domain Model angesiedelt, wenn es nicht das MVC-Model ist?

                  vg
                  jack
                  -

                  Kommentar


                  • #24
                    Also wo bitteschön ist bei MVC eigentlich das Domain Model angesiedelt, wenn es nicht das MVC-Model ist?
                    Was soll man - bitteschön - auf so eine unsinnige Frage antworten? Woanders. MVC erhebt gar nicht den Anspruch, die gesamte Applikation abzubilden.
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #25
                      Splits user interface interaction into three distinct roles
                      Model View Controller (MVC) is one of the most quoted (and most misquoted) patterns around. It started as a framework developed by Trygve Reenskaug for the Smalltalk platform in the late 1970s. Since then it has played an influential role in most UI frameworks and in the thinking about UI design.
                      MVC considers three roles. The model is an object that represents some information about the domain
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #26
                        Ok, dann versuche ich das mal zusammenzufassen:

                        - das Model repräsentiert (einige) Informationen der Domäne (M. Fowler)
                        - in seiner reinsten Form ist es ein Objekt innerhalb des Domain Models (M. Fowler)
                        - das Domain Model gehört nicht zu MVC, es ist „woanders“ angesiedelt (nikosch)

                        Daraus folgt: Das MVC-Model befindet sich demnach (in seiner reinster Form) innerhalb von „woanders“ und somit außerhalb von MVC.

                        Model View Controller (MVC) is one of the most quoted (and most misquoted) patterns around.
                        Warum wohl, Herr Fowler?

                        vg
                        jack
                        -

                        Kommentar


                        • #27
                          MVC ist ein Pattern der Präsentationsschicht. Z.B. UI + Behahviour
                          Ein Model ist eine Repräsentation der Datenschicht
                          Das User Interface stellt Daten und passende Zugriffselemente dar, benötigt also einen Model-Anteil
                          Das User Interface benötigt desalb noch lange nicht alle Informationen der Datenschicht/Domäne

                          Folglich stellt das M des MVC eine Teilmenge des Domainmodels dar, erweitert um für die Darstellung relevante Informationen.
                          [COLOR="#F5F5FF"]--[/COLOR]
                          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                          [COLOR="#F5F5FF"]
                          --[/COLOR]

                          Kommentar


                          • #28
                            Persönlich würde ich zwei Sachen in Deiner Beschreibung etwas abändern:

                            Ein Model ist eine Repräsentation der (Datenschicht) Domänenschicht
                            Domänenschicht, weil ich das Model nicht als einen reinen Datenbehälter sehe, sondern als etwas was auch ein Verhalten, eine Logik beinhaltet

                            Folglich stellt das M des MVC eine Teilmenge des Domainmodels dar.
                            Meiner Ansicht nach sollte sich das Model nicht um die Darstellung von Informationen kümmern. Das würde nur unnötig zu einer engen Kopplung zwischen Model und View führen.

                            Ansonsten halte ich Deine Interpretation für sehr gelungen.

                            vg
                            jack
                            -

                            Kommentar


                            • #29
                              Meiner Ansicht nach sollte sich das Model nicht um die Darstellung von Informationen kümmern.
                              Das habe ich so auch nicht geschrieben. Sondern, dass die View durchaus Zusatzdaten benötigen kann, die kein eigentlicher Teil der Anwendungsdomäne sind. Sondern nur für die UI relevant.
                              [COLOR="#F5F5FF"]--[/COLOR]
                              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                              [COLOR="#F5F5FF"]
                              --[/COLOR]

                              Kommentar


                              • #30
                                Faszinierend, wie kompliziert man sich dieses Thema machen kann. Übrigens ist die Umschreibung von Fowler überraschend präzise. Und nein, M stellt nicht eine Teilmenge des Domainmodels dar. Das Domainmodel steht eine Teil von M dar. MVC ist tatsächlich ein ganzheitliches Konzept.

                                Kommentar

                                Lädt...
                                X