![]() |
AW: Trennung von GUI und Logik, wie geht ihr vor?
|
AW: Trennung von GUI und Logik, wie geht ihr vor?
Daaaaaanke!
Unser Framework ist ähnlich aufgebaut. |
AW: Trennung von GUI und Logik, wie geht ihr vor?
|
AW: Trennung von GUI und Logik, wie geht ihr vor?
Mal 'ne Frage:
Basierend auf den Diagrammen von ![]() speziell ![]() Ist es MVP-gerecht, die "Observer<->Data Access"-Beziehung nicht zwischen Model<->View, sondern ueber den Mediator Presenter laufen zu lassen? Der Presenter wuerde also das Model observen und bei notify in seiner View reagierend schalten, waehrend er von der View nach Strategy-Pattern Aenderungen direkt an das ihm gehoerende Model geben wuerde. Waere das Passive vs. Supervising Presenter? Oder gar kein MVP mehr? Wenn das legitim ist, haette man ja wirklich null interaktion zwischen Model und View, sprich nur der Presenter waere noch Model-spezifisch. Edit: Hat sich erledigt. Mit Mediator heisst es Model-View-Adapter |
AW: Trennung von GUI und Logik, wie geht ihr vor?
@hzzm
Ich habe MVP immer so umgesetzt. In der "program" Datei (*.dpr) Werden die Presenter erzeugt. Im Konstrukor der Presenter werden View und Model als Interface Parameter übergeben. Im Konstruktor des Presenters werden View und Model dann mit eineander verdrahtet (Observer werden Registriert usw.)
Delphi-Quellcode:
Mein Presenter war immer ein reiner Gluecode-Container! Ich weiß nichtmal ob das so noch MVP heißt,
KannWasPresenter := TKannWasPresenter.create((TKannWasView.create)as IKannWasView, (TKannWasModel.create) as IKannWasModel) as IKannWasPresenter;
aber es hat echt gut funktioniert und es mir ermöglicht TModel in verschiedenen Projekten wieder zuverwenden. Leider habe ich danach einen Ausflug in die Welt von MVVM und Livebindings gemacht :( Und das war ein Fehler. Meine Version von MVP hat mir echt mehr gebracht. Jetzt habe ich mein MVVM projekt komplett von Livebindings befreit, weil ich zu dumm dafür bin.... Dadurch letzten Endes Viel Code in TForm Klassen und eine aufgeblähte VM Klasse dazwischen, von der ich eigentlich nur die Navigations funktionalität bräuchte... |
AW: Trennung von GUI und Logik, wie geht ihr vor?
Zitat:
Over-engineered. Suess in der Theorie, in der Praxis aber viel zu viel gefummele. Entkopplung muss auch einfacher gehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz