Dmvvm-es

Pratiquer des exercices pour essayer de comprendre le modèle MVVM et peut-être mettre fin au développement d'un cadre MVVM petit et utile pour Delphi.
Autres cadres utilisés
Équipe de travail
Nous sommes un petit groupe de programmeurs que nous nous réunissons sur Telegram ( groupe Delphi MVVM en espagnol ) et nous partageons nos idées et nos doutes
Liens d'intérêt
https://www.youtube.com/watch?v=ci1hp8zbjxk
https://blog.grijjy.com/2018/01/22/mvvm-starter-kit-part-1-of-3/ https://github.com/grijjy/mvvmstarterkit
https://bitbucket.org/sglienke/knockoff/src/master/ https://delphisorcery.blogspot.com/2015/06/anonymous-method-oteloading.html
https://bitbucket.org/sglienke/dsharp/src/master/ https://github.com/jpluimers/conferences/blob/master/2015/20151020-dapug-denmark-nyborg-hotel-hoteselet/2015 1020-caliburn / 01-Int-Mvvm-Dsharp-Caliburn / Mvvm-in-Delphi-uhe-Caliburn-Micro-for-Delphi-Framework.md https://delphisorcery.blogspot.com/2011/12/putting-pieces-toger-dsharp.htsml
https://github.com/msts/glue
https://github.com/bogdalak/command-delphi
Https://github.com/delphipraxis/mvvmstarterkit/commits/master
Idées à prendre en compte
- Le moteur permet l'enregistrement de différents types de stratégies / méthodes de liaison
- Possibilité d'activer / désactiver toutes les liaisons?
Prototype 0 (fini)
Objectifs:
- L'objectif n'est pas de créer un merveilleux modèle-Viemodel-Vistas, donc l'exemple lui-même peut ne pas donner une signification excessive
- Le Core MVVM doit être agnostique de la plate-forme (VCL / FMX)
- Il doit y avoir des services (UI) sur la plate-forme, qui peuvent être invoqués à partir de l'un des niveaux (normal de la machine virtuelle), un service simple a été créé
- L'exercice de la création de tests unitaires pour le modèle et ViewModel-Vista a été effectué
- Une vue spécifique pour FMX et une autre pour VCL a été créée, ainsi qu'une application FMX et un autre VCL pour tester les fonctionnalités
- Dans ce cas spécifique, le ViewModel a des fonctionnalités similaires au modèle lui-même, nous sommes presque un pont, donc les tests unitaires eux-mêmes sont similaires
- Un ViewModel (ou plusieurs) peut être lié à un modèle, et ce ViewModel peut prendre en charge autant de vues qu'ils sont accrochés
- La vue n'est pas fonctionnée
Prototype 1 (en cours, les sources encore visibles proviennent du prototype. 0)
Objectifs:
- Ajouter un moteur de message au système: analysez s'il est préférable que le modèle observe pour le <- pas de modèle
- Analyse des liaisons du moteur Grijjy / Dsharp / Knockoff / Glue pour voir à quelles bonnes idées peuvent être incorporées. BOODOFF: Il n'y a pas de classes ou d'interfaces spécialisées à utiliser dans l'une des 3 couches, des attributs pour la liaison sont utilisés. Complexe pour effectuer b. Glue: il semble incomplet, sans exemples complets c. Dsharp: Non encore analysé d. GRIJJY: Il semble le plus complet et le plus simple à comprendre pour l'appliquer comme référence. Plus d'exemples sont manquants
- Intégrer le noyau la possibilité de différentes stratégies de liaison, qui peuvent être enregistrées
- Intégrer les idées du cadre Grijjy (heureusement, dans leur blog, ils donnent la permission d'utiliser leur cadre pour en faire d'autres)
- Le prototype 1 pour le moment aura une correspondance 1-1 entre View et ModelView
Prototype 2
Objectifs:
- Créez le client REST (clients externes à l'application) et voyez le modèle, ce qui peut être automatisé, quoi, les difficultés, ...
- Application de connexion: convient?