Announcement

Collapse
No announcement yet.

MVC-Unterstützung unter Delphi!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MVC-Unterstützung unter Delphi!

    Hi,<P>in wie weit wird von Delphi das MVC-Model unterstützt.Model= Formularunit, Control= von mir geschriebene Units, die tolle Dinge machen und was ist mit der View?? Ist doch Bestandteil der Controlunit (Label1.Caption:= 'blablabla'???<P>Wäre schön wenn daeiner einen Tipp oder Link für mich hätte<P>Adonis

  • #2
    hallo,<br>
    <br>
    sag mal, hast du drogen genommen?

    <br>
    mfg
    ak

    Comment


    • #3
      Leider bringt Delphi von Haus aus keinerlei Unterstützung für MVC mit. Wobei eine Model View Controller-Umsetzung mit Delphi eh schwierig ist. Die Views(Formulare) sind viel zu eng mit der Eingabe verzahnt. In einem Smalltalk-Handbuch habe ich gelesen, daß die Philosophie von MVC die ist, daß immer eine View mit einem Controller gepaart wird. Wird unterschiedliches Benutzerverhalten, beispielsweise unterschiedliche Rechte verlangt, so kann dies erreicht werden, daß dieselbe View mit einem anderen Controller gepaart wird und schon ergibt sich ein anders Verhalten, z.B. kann der Benutzer die Daten nicht mehr ändern.<p>
      So was bekommt man mit Delphi nicht ohne weiteres hin. Was einfacher geht ist das Observer-Patttern, das im Buch "Entwurfsmuster" von Erich Gamma und Co beschrieben wird. Beim Observer-Pattern gibt es ein Subject und eine beliebige Anzahl Observer dazu. Das Subject entspricht dem Model und der Observer dem View-Controller-Paar. Ich habe das schon mittels eines Interface implementiert. Ich bin mit meiner Lösung noch nicht ganz glücklich, weil es gibt auch den Fall, daß das Subject gelöscht wird. Was soll in diesem Fall mit den Observern passieren? Im einem Fall will man sie vielleicht ebenfalls löschen, in einem anderen Fall sollen sie weiter exisitieren.<p>
      Ich wollte mit meinem Beitrag nur mal einen Denkanstoß geben.<p>
      Gruß<p>
      Wolfgang Rolle

      Comment

      Working...
      X