Maison interface Web Questions et réponses frontales Quels sont les frameworks mvvm ?

Quels sont les frameworks mvvm ?

Nov 09, 2020 am 11:02 AM
mvvm 框架

Le framework mvvm comprend : 1. Le framework MVVMLight, un framework léger qui implémente le modèle MVVM ; 2. Le framework Prism ; 3. Le framework Caliburn, un framework open source de la classe MVVM ; 5. Cadre Cinch ; 6. Cadre de la Fondation MVVM

Quels sont les frameworks mvvm ?

Un cadre pour la mise en œuvre de MVVM

1. Le framework de composition le plus puissant et le plus polyvalent - Prism

Adresse de téléchargement : http://compositewpf.codeplex.com/

Développeur : Équipe de modèles et pratiques Microsoft

Si Silverlight est pris en charge : Oui

Matériel d'apprentissage : Composite Application Guidance for WPF and Silverlight - May 2010.chm et Quickstarts et StockTraderRI, etc.

Les captures d'écran du code source sont les suivantes :

Quels sont les frameworks mvvm ?

Prism - anciennement connu sous le nom de Composite Application Guidance pour WPF et Silverlight, il s'agit d'une application complexe au niveau de l'entreprise basée sur sur le framework d'application WPF/Silverlight Mainstream. Il existe plusieurs concepts importants dans Prism :

1. BootStrapper : Le point d'entrée de l'application, hérite de UnityContainer de Prism ou du MefUnityContainer fourni par MEF, et fournit un conteneur pour le système.

2. Shell : c'est un shell qui présente la page à travers les éléments de l'interface utilisateur et les régions. Il s'agit de la fenêtre de niveau supérieur de l'application, et le contenu affiché est généralement rempli par View. Le Shell lui-même ne sait pas quel contenu il contient, les fonctions sont donc spécifiquement fournies par chaque module.

3. View : C'est équivalent à View en mode MVP et en mode MVVM. Il peut être injecté dans Region via IRegionManager.

4. Module : un grand projet peut être divisé en parties. Chaque module contient une vue, des données et un modèle, et est principalement utilisé pour mettre en œuvre des opérations commerciales complexes.

5. IModuleManager : principalement utilisé pour gérer le chargement des modules et peut réaliser un chargement dynamique.

6. IEventAggregator : interface de traitement d'événements, implémentant les modes d'abonnement et de publication, qui est également la pratique générale du framework MVVM.

Prism est un framework de combinaison relativement grand. Il est devenu plus puissant après l'introduction du MEF et des ajustements fonctionnels dans la version 4.0. On peut désormais dire qu'il s'agit de l'unité du framework de combinaison et du framework d'application, et c'est le. force de l'équipe Microsoft, alors choisissez Cela vaut la peine d'être garanti.

2. Le framework d'application le plus puissant et le plus polyvalent - Caliburn

Adresse de téléchargement : http://caliburn.codeplex.com/

Développeur : Rob Eisenberg

S'il prend en charge Silverlight : Oui

Matériel d'apprentissage : je me réfère principalement à des exemples de projets, au code source, à des cas de tests unitaires et à certains blogs et communautés étrangers.

Les captures d'écran du code source sont les suivantes :

Quels sont les frameworks mvvm ?

Il existe plusieurs concepts importants dans Caliburn :

1. de nombreuses fonctionnalités, notamment plusieurs paramètres, opérations de filtrage et appels asynchrones.

2. Les événements du cycle de vie des formulaires et des contrôles sont également relativement bien gérés (y compris l'activation, la désactivation, l'arrêt, etc.).

3. La testabilité de l'ensemble du framework et des applications basées sur ce framework est relativement bonne.

4, fournit de nombreuses fonctions communes, qui sont plus utiles dans les projets.

5. En plus de prendre en charge le mode MVVM, il prend également en charge le mode MVP et d'autres modes variantes.

6. Cadre d'injection de dépendances puissant et cadre AOP Vous pouvez en choisir un de manière flexible ici.

Caliburn est un framework d'application MVVM très puissant qui fournit des implémentations flexibles et diverses de nombreuses fonctions, qu'il s'agisse d'utilisation de projet ou de recherche de code, j'estime qu'il a beaucoup bénéficié.

3. MVVMLight léger et applicable

MVVMLight est un framework léger qui implémente le modèle MVVM (par rapport à Prism), qui peut mieux nous aider à développer WPF, Windows Phone , Windows 8, projets liés à SilverLight.

L'auteur de MVVMLight, Laurent Bugnion, est un MVP Microsoft. L'auteur a open source le code sur Codeplex : http://mvvmlight.codeplex.com/.

Le site officiel de MVVMLight : http://www.mvvmlight.net/. Il contient une introduction détaillée et des documents vidéo. Si vous êtes intéressé, vous pouvez le consulter.

Adresse de téléchargement : http://mvvmlight.codeplex.com/

Développeur : Laurent Bugnion

Support Silverlight : Oui

Matériel d'apprentissage : En plus à la documentation en ligne, je fais principalement référence à des exemples de projets, au code source, à des cas de tests unitaires et à certains blogs et communautés étrangers. De plus, ces trois articles sont très bons. J'ai développé un projet d'entreprise Silverlight relativement complet en utilisant MVVMLight

  • Partie 1 - Introduction, installation et sujets généraux de conception d'applications

  • Partie 2 - Sujets MVVM Light

  • Partie 3 - Authentification personnalisée, réinitialisation du mot de passe et maintenance de l'utilisateur

Le code source la capture d'écran est la suivante :

Quels sont les frameworks mvvm ?

Il existe plusieurs concepts importants dans MVVMLight :

1. RelayCommand : En encapsulant Command, le mode MVVM est plus facile à utiliser sur WPF et Silverlight. Il vous suffit de définir chaque RelayCommand dans le ViewModel, puis d'utiliser la commande pour lier le RelayCommand défini dans le ViewModel dans la vue pour obtenir les mêmes effets que les événements WinForm et ASP.NET, mais ici, l'interface utilisateur et la logique sont supprimées. .

2. Messager : Le Messager dans MVVMLight joue un rôle relativement important. Comme mentionné précédemment, le mode MVVM supprime les références fortes de ViewModel et View, alors comment interagissent-elles ? Il est utilisé pour permettre à ViewModel et View de communiquer. Généralement, nous définirons une classe AppMessages statique comme une classe de communication générale. Le principe est le modèle de publication-abonnement.

3. EventToCommand : ceci est similaire au concept de comportement supplémentaire, qui a été introduit dans MVVM Light Toolkit V3.

4. Interface ICleanup : Lorsqu'une vue est affichée, la méthode Cleanup doit être appelée pour effacer les données. C'est également une opération nécessaire en raison de l'isolement du couplage de ViewModel et View.

MVVMLight est un framework MVVM très facile à utiliser qui fournit des modèles et une détection intelligente pour VS et Blend. Il semble vraiment léger et efficace lorsqu'il est utilisé en combinaison avec MEF, et il prend en charge WPF et Silverlight, notamment en termes de prise en charge de Silverlight, donc choisissez généralement le mode léger Silverlight MVVM, qui est plus prometteur.

4. MVVM Helpers complets et faciles à utiliser

Adresse de téléchargement : http://mvvmhelpers.codeplex.com/

Développeur : Mark Smith

S'il prend en charge Silverlight : Non

Matériel d'apprentissage : http://www.julmar.com/blog/mark/ et fourni des exemples, du code source et des tests cas.

La capture d'écran du code source est la suivante :

Quels sont les frameworks mvvm ?

MVVM Helpers est également appelé JulMar MVVM Helpers + Behaviors, qui comporte plusieurs concepts importants :

1. Fournit les fonctions de base du modèle MVVM, y compris l'isolation entre ViewModel, View et Model, et fournit également certaines fonctions communes.

2. La création de ViewModel est injectée sous forme de balises, et MEF peut désormais également être introduit.

3. Prise en charge IOC/DI, les attributs ont des mécanismes de vérification et la prise en charge du curseur d'attente, qui peut être publié à temps après l'utilisation du modèle de vue, évitant ainsi les fuites de mémoire.

4. Fournit une prise en charge des comportements attachés couramment utilisés.

5. L'introduction d'un mécanisme de message pour éviter les couplages provoqués par des références fortes.

MVVM Helpers est un framework MVVM très applicable, en particulier il fournit des fonctions MVVM communes + MEF + Comportements attachés, de sorte que les problèmes du projet peuvent être essentiellement résolus.

5, Cinch puissant et léger

Adresse de téléchargement : http://cinch.codeplex.com/

Développeur : Sacha Barber

Si Silverlight est pris en charge : non

Matériel d'apprentissage : http://sachabarber.net/ et fourni des exemples, du code source et des cas de test.

La capture d'écran du code source est la suivante :

Quels sont les frameworks mvvm ?

Si vous étudiez attentivement le code, vous constaterez qu'il contient de nombreux codes similaires à les Helpers MVVM mentionnés ci-dessus, et ils sont probablement liés les uns aux autres, j'ai fait une référence :-D. Il existe plusieurs concepts importants dans Cinch :

1. Ce framework a déjà implémenté une forte isolation des références entre ViewModel et View avant l'émergence de MEF. Il n'a ni configuration générale IOC ni IView. Il est utilisé pour le transfert, et le. Les événements du cycle de vie des formulaires et des contrôles sont également relativement bien gérés, c'est donc très bien à cet égard.

2, prend en charge les comportements attachés couramment utilisés et fournit également certaines fonctions MVVM courantes.

3. DI/IOC est implémenté à l'aide d'Unity et multithread pour éviter les erreurs imprévisibles dans le système.

4. Le modèle de vue peut être publié à temps après utilisation, évitant ainsi les fuites de mémoire, ajoutant un mécanisme de vérification et implémentant une navigation commune.

5. L'introduction d'un mécanisme de message pour éviter les couplages provoqués par des références fortes.

Cinch est un framework très puissant, notamment parce qu'il se concentre sur la construction de l'ensemble de l'application, il est donc également plus populaire.

6. Fondation MVVM avec des fonctions simples et une expansion facile

Adresse de téléchargement : http://mvvmfoundation.codeplex.com/

Développeur : Josh Smith

S'il prend en charge Silverlight : Non

Matériel d'apprentissage : http://joshsmithonwpf.wordpress.com/ et a fourni des exemples, du code source et des cas de test.

La capture d'écran du code source est la suivante :

Quels sont les frameworks mvvm ?

Il existe plusieurs concepts importants dans MVVM Foundation :

1. principalement utilisé dans diverses communications entre différents ViewModels (tels que les ViewModels interdépendants, les ViewModels maître-esclave, etc.), bien sûr, peut également être étendu à la communication entre ViewModel et View.

2. ObservableObject : Ceci est équivalent au concept de ViewModelBase. Chaque ViewModel hérite de cette classe et est libéré immédiatement après la fin de l'appel pour éviter les fuites de mémoire.

3. PropertyObserver : encapsule principalement INotifyPropertyChanged.PropertyChanged. Cette encapsulation peut simplifier le code et éviter les fuites de mémoire causées par des opérations inappropriées.

4. Interface RelayCommand : encapsule l'instruction de commande, y compris la logique d'exécution, la logique d'exécution facultative, etc. En externe, il vous suffit d'instancier et de Binding pour l'utiliser facilement.

MVVM Foundation est un framework MVVM très simple. Si vous avez du mal à étudier le code source, vous pouvez d'abord commencer par ce framework. Le code est simple et raffiné.

Pour plus de connaissances liées à la programmation, veuillez visiter : Site Web d'apprentissage en programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment évaluer la rentabilité du support commercial des frameworks Java Comment évaluer la rentabilité du support commercial des frameworks Java Jun 05, 2024 pm 05:25 PM

L'évaluation du rapport coût/performance du support commercial pour un framework Java implique les étapes suivantes : Déterminer le niveau d'assurance requis et les garanties de l'accord de niveau de service (SLA). L’expérience et l’expertise de l’équipe d’appui à la recherche. Envisagez des services supplémentaires tels que les mises à niveau, le dépannage et l'optimisation des performances. Évaluez les coûts de support commercial par rapport à l’atténuation des risques et à une efficacité accrue.

Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Comment la courbe d'apprentissage des frameworks PHP se compare-t-elle à celle d'autres frameworks de langage ? Jun 06, 2024 pm 12:41 PM

La courbe d'apprentissage d'un framework PHP dépend de la maîtrise du langage, de la complexité du framework, de la qualité de la documentation et du support de la communauté. La courbe d'apprentissage des frameworks PHP est plus élevée par rapport aux frameworks Python et inférieure par rapport aux frameworks Ruby. Par rapport aux frameworks Java, les frameworks PHP ont une courbe d'apprentissage modérée mais un temps de démarrage plus court.

Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Comment les options légères des frameworks PHP affectent-elles les performances des applications ? Jun 06, 2024 am 10:53 AM

Le framework PHP léger améliore les performances des applications grâce à une petite taille et une faible consommation de ressources. Ses fonctionnalités incluent : une petite taille, un démarrage rapide, une faible utilisation de la mémoire, une vitesse de réponse et un débit améliorés et une consommation de ressources réduite. Cas pratique : SlimFramework crée une API REST, seulement 500 Ko, une réactivité élevée et un débit élevé.

Comparaison des performances des frameworks Java Comparaison des performances des frameworks Java Jun 04, 2024 pm 03:56 PM

Selon les benchmarks, pour les petites applications hautes performances, Quarkus (démarrage rapide, mémoire faible) ou Micronaut (TechEmpower excellent) sont des choix idéaux. SpringBoot convient aux grandes applications full-stack, mais a des temps de démarrage et une utilisation de la mémoire légèrement plus lents.

Bonnes pratiques en matière de documentation du framework Golang Bonnes pratiques en matière de documentation du framework Golang Jun 04, 2024 pm 05:00 PM

La rédaction d'une documentation claire et complète est cruciale pour le framework Golang. Les meilleures pratiques incluent le respect d'un style de documentation établi, tel que le Go Coding Style Guide de Google. Utilisez une structure organisationnelle claire, comprenant des titres, des sous-titres et des listes, et fournissez la navigation. Fournit des informations complètes et précises, notamment des guides de démarrage, des références API et des concepts. Utilisez des exemples de code pour illustrer les concepts et l'utilisation. Maintenez la documentation à jour, suivez les modifications et documentez les nouvelles fonctionnalités. Fournir une assistance et des ressources communautaires telles que des problèmes et des forums GitHub. Créez des exemples pratiques, tels que la documentation API.

Comment choisir le meilleur framework Golang pour différents scénarios d'application Comment choisir le meilleur framework Golang pour différents scénarios d'application Jun 05, 2024 pm 04:05 PM

Choisissez le meilleur framework Go en fonction des scénarios d'application : tenez compte du type d'application, des fonctionnalités du langage, des exigences de performances et de l'écosystème. Frameworks Go courants : Gin (application Web), Echo (service Web), Fibre (haut débit), gorm (ORM), fasthttp (vitesse). Cas pratique : construction de l'API REST (Fiber) et interaction avec la base de données (gorm). Choisissez un framework : choisissez fasthttp pour les performances clés, Gin/Echo pour les applications Web flexibles et gorm pour l'interaction avec la base de données.

Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Quels sont les malentendus courants dans le processus d'apprentissage du framework Golang ? Jun 05, 2024 pm 09:59 PM

Il existe cinq malentendus dans l'apprentissage du framework Go : une dépendance excessive à l'égard du framework et une flexibilité limitée. Si vous ne respectez pas les conventions du framework, le code sera difficile à maintenir. L'utilisation de bibliothèques obsolètes peut entraîner des problèmes de sécurité et de compatibilité. L'utilisation excessive de packages obscurcit la structure du code. Ignorer la gestion des erreurs entraîne un comportement inattendu et des plantages.

Explication pratique détaillée du développement du framework Golang : questions et réponses Explication pratique détaillée du développement du framework Golang : questions et réponses Jun 06, 2024 am 10:57 AM

Dans le développement du framework Go, les défis courants et leurs solutions sont les suivants : Gestion des erreurs : utilisez le package d'erreurs pour la gestion et utilisez un middleware pour gérer les erreurs de manière centralisée. Authentification et autorisation : intégrez des bibliothèques tierces et créez un middleware personnalisé pour vérifier les informations d'identification. Traitement simultané : utilisez des goroutines, des mutex et des canaux pour contrôler l'accès aux ressources. Tests unitaires : utilisez les packages, les simulations et les stubs gotest pour l'isolation, ainsi que les outils de couverture de code pour garantir la suffisance. Déploiement et surveillance : utilisez les conteneurs Docker pour regrouper les déploiements, configurer les sauvegardes de données et suivre les performances et les erreurs avec des outils de journalisation et de surveillance.

See all articles