Question

Je suis assez nouveau dans la programmation motivée par des événements et l'utilisation de MVC, alors pardonnez-moi si cette question semble être une non-question.

J'essaie d'attribuer des valeurs à ma classe de modèle Singleton (client). J'ai 2 options:

  1. Je peux utiliser le constructeur de classe de modèle pour s'attaquer à lui-même comme:

    Classe Client {

         public var name;
         public var email;
    
         public function Client(arg_name, arg_email){
             this.name = arg_name;
             this.email = arg_email;
           } 
      }
    
  2. Je peux utiliser le contrôleur pour m'attaquer mes valeurs comme tel:

    Class Controller{
         public var client:Client = new Client();
    
         public function assign(){
            client.name = "booo";
            client.email = "blaaah@email.com";
         }
    

    }

Lequel de ceux-ci est une meilleure solution? :) La raison pour laquelle je suis si confus est parce que j'ai vu des exemples qui transmettent simplement des valeurs à la classe de modèle et font # 1 (et définissant de nouvelles variables telles que [var fullname = fname + lname], mais je sais pour un fait qu'il s'agit du travail du contrôleur d'attribuer des valeurs au modèle.

Était-ce utile?

La solution

Mieux est relatif.

Le deuxième exemple est ce qu'on appelle communément "l'injection de propriété".

Fondamentalement, la première option est plus rapide, plus petite et beaucoup moins de code.

La deuxième option est plus lisible et flexible.

Quel que soit le contrôleur, l'injection a l'avantage que vous pouvez créer des getters et des setters pour chaque propriété.

Donc, fondamentalement, vous pouvez avoir quelque chose tel que la répartition d'un événement chaque fois que vous modifiez la valeur de la propriété "nom".

Le code source Flex est rempli de ce concept. Par exemple, chaque fois que vous modifiez la largeur d'un groupe, il ne change pas seulement la valeur, il effectue des vérifications, puis définit le groupe comme sale afin que d'autres choses puissent y réagir.

Fondamentalement, il est simple que tout fasse son propre truc, et il est plus orienté objet.

Tout cela ne signifie pas que c'est en fait mieux, mais il est plus courant maintenant d'écrire du code dans le deuxième style d'option.

J'espère que cela pourra aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top