Suite à this enquêtes initiales sur les architectures Silverlight, j'ai quelques nouvelles exigences à prendre en compte.Modèle de conception Silverlight pour les performances - interface client très riche
Nous nous attendons à notre interface utilisateur du client Silverlight pour être graphiquement lourd, avec une interface SIG, plusieurs graphiques, jauges et datagrids disposés en mode style Widget. Les nouveaux widgets seront générés dynamiquement par l'utilisateur.
Supposons un utilisateur voulait créer dynamiquement un widget graphique à partir d'un widget DataGrid existant prérempli avec les données. Il me semble que si nous utilisions un modèle MVVM avec le modèle de vue sur le serveur, cela entraînerait un appel inutile à la maison lorsque les données requises sont déjà situées dans le client.
Maintenant, évidemment, le serveur a besoin de connaître ce nouveau widget graphique sur le client, mais comment créer d'abord le widget dans le client (avec les données côté client) et ensuite informer le serveur des nouvelles modifications?
Dans notre intranet, le lien réseau entre le client et le serveur n'est pas particulièrement bon, donc les performances sont critiques.
Il semble de mes premières recherches que les modèles d'architecture Silverlight communs appellent autant de la logique métier d'être poussé vers le serveur. Je comprends le raisonnement pour cela, mais je crains que cela ne nuise vraiment à la convivialité de notre application.
Existe-t-il des modèles de conception particuliers qui résolvent ce problème? Est-ce que cette 'liaison client' est prise en charge dans MVVM, Prism ou d'autres architectures Silverlight communes?
Y at-il un nom plus formel pour ce que je tente de décrire?
Je suis tout à fait nouvelle à la fois Silverlight et modèles de conception tels que MVVM, donc s'il vous plaît me corriger si mes hypothèses sont fausses.
Il semble que vous ayez besoin de quelques études de cas. Un point que j'ai est que «les modèles d'architecture Silverlight communs exigent qu'une grande partie de la logique métier soit repoussée vers le serveur» n'est pas correcte et annule les capacités supplémentaires que vous avez avec Silverlight. Vous pouvez utiliser une logique de validation plus puissante sur le client pour enregistrer les allers-retours que vous avez généralement avec AJAX. – sipwiz
@sipwiz: En effet, je suis heureux d'avoir tort à ce sujet. Je suis confus sur la meilleure façon de définir le modèle à la fois du côté client et côté serveur. Certaines études de cas seraient les bienvenues. – Alex
Ce que j'ai trouvé est que Silverlight vous permet de faire les mêmes choses sur le serveur ou sur le client. Il vous permet de choisir celui que vous préférez. Par exemple, la validation peut être effectuée sur le serveur ou sur le client. – johnnywhoop