DMVVM-ES

Üben Sie Übungen, um zu versuchen, das MVVM -Muster zu verstehen und möglicherweise die Entwicklung eines kleinen und nützlichen MVVM -Frameworks für Delphi zu beenden.
Andere verwendete Frameworks
Arbeitsteam
Wir sind eine kleine Gruppe von Programmierern, die wir im Telegramm ( Delphi MVVM Group auf Spanisch ) zusammenbringen, und dort teilen wir unsere Ideen und Zweifel
Zinsverbindungen
https://www.youtube.com/watch?v=ci1hp8zbjxk
https://blog.grijjy.com/2018/01/22/mvvm-starter-kit-part-of-of-3/ https://github.com/grijjy/mvvmstarterkit
https://bitbucket.org/sglienke/knockoff/src/master/ https://delphisorcery.blogspot.com/2015/06/anonymous-method-overloading.html
https://bitbuckets 1020-CALIBURN/01-INT-MVVM-DSHARP-CALIBURN/MVVM-IN-DELPHI-UHE-CALIBURN-MICRO-FORM-DELPHI-FRAMEWORK.MD https://delphisorcery.blogspot.com/2011/12/Puting-pieces-toger-dsharp.html
https://github.com/msnts/klue
https://github.com/bogdalak/command-delphi
Modifiziert https://github.com/delphipraxis/mvmstarterkit/commits/master
Ideen zu berücksichtigen
- Der Motor ermöglicht die Aufzeichnung verschiedener Arten von Bindungsstrategien/Methoden
- Möglichkeit, alle Bindungen zu aktivieren/zu deaktivieren?
Prototyp 0 (fertig)
Ziele:
- Ziel ist es nicht, wunderbare Modell-Viemodel-Vistas zu erstellen, sodass das Beispiel selbst möglicherweise keine übermäßige Bedeutung hat
- Der Kern -MVVM muss der Plattform agnostisch sein (VCL/FMX)
- Die Plattform muss Dienste (UI) geben, die aus einem der Level (normal aus der VM) aufgerufen werden können. Es wurde ein einfacher Dienst erstellt
- Die Ausübung der Erstellung von einheitlichen Tests für das Modell und das ViewModel-Vista wurde durchgeführt
- Eine spezifische Ansicht für FMX und eine andere für VCL wurde erstellt, sowie eine FMX -App und eine andere VCL zur Testfunktionalität
- In diesem spezifischen Fall hat das ViewModel einige Funktionen, die dem Modell selbst ähnlich sind. Wir sind fast Brücke, sodass die Unit -Tests selbst ähnlich sind
- Ein ViewModel (oder mehrere) kann mit einem Modell verknüpft werden, und dieses ViewModel kann so viele Ansichten unterstützen, wie sie süchtig sind
- Die Aussicht wird nicht bearbeitet
Prototyp 1 (in Arbeit, immer noch sichtbare Quellen stammen aus dem Prototyp. 0)
Ziele:
- Fügen Sie dem System Message Engine hinzu
- Grijjy/Dsharp/Knockoff/Glue Engine -Bindungen Analyse Um zu sehen, welche guten Ideen einbezogen werden können. Knockoff: Es gibt keine spezialisierten Klassen oder Schnittstellen, die in einer der 3 Schichten verwendet werden können, und es werden Attribute für die Bindung verwendet. Komplex für b. Kleber: Es scheint unvollständig, ohne vollständige Beispiele c. DSHARP: Noch nicht analysiert d. GRIJJY: Es scheint das vollständigste und einfachste zu verstehen, es als Referenz anzuwenden. Weitere Beispiele fehlen
- Integrieren Sie den Kern der Möglichkeit unterschiedlicher Bindungsstrategien, die registriert werden können
- Integrieren Sie Ideen aus dem Grijjy -Framework (zum Glück geben sie in ihrem Blog die Erlaubnis, ihren Rahmen zu verwenden, um andere zu machen)
- Prototyp 1 im Moment hat eine 1-1-Korrespondenz zwischen Ansicht und ModelView
Prototyp 2
Ziele:
- Erstellen Sie REST -Kunde (Kunden extern in der App) und sehen Sie, wie Sie das Modell anpassen können, was automatisiert werden kann, was nicht, Schwierigkeiten, ...
- Tethering App: Passend?