Ich experimentiere mit der Implementierung eines leichten MVP-Framework mit Delphi 2009.MVP: andere Konstruktor Parameter als Ansicht und Modell?
Ansichten sind passiv aber unterstützt Datenbindung (über eine Schnittstelle Eigenschaft).
Ich bin vor ein Dilemma: ich mehrere sehr ähnliche Ansichten/Moderator/Modell Triade haben, das heißt:
Bestellformular und ein Kundenformular = Verhalten und Logik die gleiche, aber die Datenquelle für die Datenbindung ist anders und der Formtitel auch. die Datenquelle ist eine gemeinsame Eigenschaft für alle meine Modelle, so ist es kein Problem, um den Formulartitel zu setzen, bin ich gezwungen, es in meinem Referenten
hart Code in meinem Referenten zu schreiben Alles funktioniert gut, aber ich bin in einem Situation, wo ich mehrere einfache mvp Triaden sehr ähnlich sind. Ich möchte es umgestalten, aber in diesem Fall muss ich einige Parameter an den mvp-Konstruktor übergeben.
Bisher mache ich wie folgt aus:
- Erstellen Sie die Ansicht
- Erstellen Sie das Modell
- den Presenter erstellen und im Konstruktor
In der Tat Modell und Ansicht injizieren Ich stehe vor einer Wahl:
- Haben einige sehr generische Views/Presenter, benutze sie so, aber injiziere 1 oder 2 Parameter in den Konstruktor
- Habe einige Views/Presenter superclass und leite alle meine ähnliche view/presenter von ihnen ab und setze einige spezifische Werte in den overriden Methoden.
Können Sie mir einige Tipps/Ratschläge geben?
(sorry, wenn ich nicht ganz klar bin)
Tiger, danke für deine Antwort. Ihre Lösung scheint meine Nr. 2 zu sein. Ich stimme zu, dass es der saubere Weg ist, dies zu tun, aber das Erstellen mehrerer Unterklassen, nur um den Formulartitel oder eine Bezeichnung auf einem Formular zu setzen, ist etwas übertrieben von dem, was ich jetzt sehe. Danke für Ihre Hilfe. – Fred