J'ai cherché sur Google et étudié, mais j'ai encore besoin d'éclaircissements: les classes adaptateur et contrôleur sont-elles similaires? Si non, en quoi diffèrent-ils?
Veuillez expliquer.
Adapter est un modèle qui fournit une implémentation par défaut (souvent vide) d'interface ou de classe abstraite. Par exemple, MouseAdapter
fournit une implémentation vide de l'interface MouseListener
. C'est utile parce que très souvent, vous n'utilisez pas vraiment toutes les méthodes déclarées par interface, l'implémentation directe de l'interface est donc très détaillée.
Le contrôleur fait partie du modèle MVC - Model-View-Controller. Aucune relation directe avec l'adaptateur.
Le rôle d'un adaptateur est principalement de faire fonctionner un objet dans une situation où une interface différente est attendue.
Un contrôleur (au sens de MVC) est similaire en ce sens qu’il sert d’intermédiaire entre les classes de modèle et de vue, mais différent en ce sens qu’il incarne généralement beaucoup plus de connaissances sur le fonctionnement supposé du programme. Un contrôleur fait plus que simplement adapter une interface à une autre.
Supposons que vous ayez une classe Color qui possède une méthode setColor(red, green, blue)
. Vous avez également du code qui attend une méthode setColor(hue, saturation, value)
. Vous pouvez créer une classe d'adaptateur qui enveloppe votre classe Color et implémente la méthode attendue en termes de celle fournie par votre classe Color.
ex --- au lieu d'implémenter Servlet (I), si nous étendons GenericServlet (AC), nous fournissons une implémentation pour la méthode Service ();
Classe générique Agit comme classe ADAPTER pour Servlet (I).
Une classe d'adaptateur fournit l'implémentation par défaut de toutes les méthodes d'une interface d'écoute d'événement. Les classes d'adaptateur sont très utiles lorsque vous souhaitez traiter uniquement quelques-uns des événements gérés par une interface d'écoute d'événements particulière. Vous pouvez définir une nouvelle classe en développant l'une des classes de l'adaptateur et en implémentant uniquement les événements pertinents pour vous.
une classe d'adaptateur fournit les implémentations par défaut de toutes les méthodes d'une classe d'écoute d'événement, les méthodes sont définies dans cette classe avec un corps vide; nous pouvons remplacer uniquement les méthodes requises de cette classe, en héritant de cette classe ..__ de lignes de codage.
chaque interface d'écoute a une ou plusieurs méthodes. les interfaces contenant plus d'une méthode ont des classes d'adaptateur ... chaque classe d'adaptateur contient toutes les méthodes de cette interface . si nous écrivons une méthode d'une interface dans une classe, alors vous devriez écrire toutes les méthodes ... certaines des interfaces d'écouteur contiennent plus de 6 méthodes .... afin d'avoir moins de charge sur le programmeur, ils ont inventé ces classes d'adaptateur .so nous étendons ces adapterclass à notre classe et nous écrivons notre méthode donc elle remplace la méthode adapter .... donc nous perdons le risque d’écrire toutes les méthodes
Une classe qui adapte les méthodes d’une autre classe en attribuant des noms différents à essentiellement les mêmes méthodes (c’est-à-dire Push (Stack) au lieu de add (ArrayList)) est appelée une classe d’adaptateur.
Avantages d'une classe d'adaptateur:
Les objets adaptateur dans Android fournissent des éléments de vue pour des listes (exemples) - ils appartiennent donc clairement à la partie vue du paradigme MVC