2009-08-06 5 views
1

Je pense à AJAX ainsi:Pensez à AJAX en tant que Model-View-Controller?

  • Modèle: Le côté serveur où les données sont stockées et exposées par webservices. D'une certaine manière, ceci est un contrôleur de vue de modèle dans le plus grand contrôleur de vue de modèle (modèle = données, vue = XML ou une autre structure de données analysable, contrôleur = code côté serveur qui manipule les données).
  • Vue: XHTML/DOM
  • Controller: Javascript/JQuery

Est-ce une façon raisonnable de penser à la programmation AJAX?

Répondre

3

Vous aussi, hein?

Oui. Je pense que c'est un très bon moyen de structurer éditer opérations. Cependant, vous voudrez probablement conserver les pages HTML "view" traditionnelles pour de nombreux documents ou objets au sein d'une application afin de pouvoir prendre en charge les moteurs de recherche si nécessaire, et de sorte que les liens profonds dans les pages de votre application viennent avec quelque chose de significatif. De cette façon, en utilisant les deux approches, vous avez un hybride, plutôt que le problème du «rectangle non-webby» où vous ne pouvez jamais mettre en signet, envoyer des liens à vos amis ou faire générer de [bons] liens par les moteurs de recherche.


8/10: Je suppose que cela signifie aussi que vous devriez penser à côté « serveur » de votre application en tant que service « REST », idéalement. De plus, assurez-vous de ne pas tomber dans le piège de penser que le code client est en quelque sorte sécurisé (ou même "obscur", d'ailleurs). Assurez-vous que les «appels de service» de soutien à votre serveur Web ont une bonne infrastructure de sécurité.

2

J'ai trouvé plus utile de concevoir un code ajax autour d'un paradigme basé sur un événement. MVC n'est pas mutuellement exclusif à l'organisation basée sur les événements, mais l'objectif pour moi a été de plus en plus sur le côté de la gestion des événements et moins sur la façon traditionnelle de voir les choses.

Il s'agit plus d'une organisation MWE (modèle, Widget, événement) avec le code d'événement prenant la place ou enveloppant le code du contrôleur.

Questions connexes