java - recyclerview - patron adapter ventajas y desventajas
¿Qué es una clase de adaptador? (9)
Clase de adaptador
- La clase de adaptador es una clase java simple que implementa una interfaz con solo implementación de EMPTY.
- En lugar de implementar la interfaz si extendemos la clase Adaptador, proporcionamos implementación solo para el método requerido
ej --- en lugar de implementar Servlet (I) si extendemos GenericServlet (AC), proporcionamos la implementación del método Service () que no estamos obligados a proporcionar para el método restante.
Clase genérica Actúa como clase ADAPTADOR para Servlet (I).
Busqué en Google e investigué, pero todavía necesito algunas aclaraciones: ¿Son una clase de adaptador y una clase de controlador similares? Si no, ¿en qué se diferencian?
Por favor explique.
Cada interfaz de escucha tiene 1 o más métodos. las interfaces que contienen más de 1 método tienen clases de adaptador ... cada clase de adaptador contiene todos los métodos de esa interfaz. Si estamos escribiendo un método de una interfaz en una clase, debe escribir todos los métodos ... algunas de las interfaces de listener contienen más de 6 métodos ... así que para tener menos carga para el programador, inventaron estas clases de adaptadores. .Así que extendemos estas clases de adaptador a nuestra clase y escribimos nuestro método, por lo tanto, reemplaza el método de adaptación ... por lo que perdemos el riesgo de escribir todos los métodos.
El trabajo de un adaptador es principalmente hacer que algunos objetos funcionen en una situación en la que se espera una interfaz diferente.
Un controlador (en un sentido MVC) es similar en que es un intermediario entre las clases de vista y modelo, pero es diferente porque generalmente incorpora mucho más conocimiento sobre cómo se supone que funciona el programa. Un controlador hace más que simplemente adaptar una interfaz a otra.
Digamos que tienes una clase de color que tiene un setColor(red, green, blue)
. También tiene algún código que espera un setColor(hue, saturation, value)
. Puede crear una clase de adaptador que envuelva su clase de Color e implemente el método esperado en términos del método que proporciona su clase de Color.
Los objetos adaptadores en Android proporcionan elementos de vista para (ejemplo) listas, por lo que claramente pertenecen a la vista del paradigma MVC
Una clase de adaptador proporciona la implementación predeterminada de todos los métodos en una interfaz de escucha de eventos. Las clases de adaptadores son muy útiles cuando desea procesar solo algunos de los eventos que son manejados por una interfaz de escucha de eventos en particular. Puede definir una nueva clase extendiendo una de las clases de adaptador e implementando solo aquellos eventos que sean relevantes para usted.
Una clase que adapta métodos de otra clase al dar nombres diferentes a esencialmente los mismos métodos (es decir, push (Stack) en lugar de add (ArrayList)) se llama una clase de adaptador
Ventajas de una clase de adaptador:
- Si una clase extiende una clase de adaptador, podemos anular algunos métodos que se necesitan;
- Puede simplificar la creación de los controladores de eventos en determinadas situaciones;
- Proporciona una implementación vacía de todos los métodos en un EventListener Methods.
una clase de adaptador proporciona implementaciones predeterminadas de todos los métodos en una clase de detector de eventos; los métodos se definen en esa clase con un cuerpo vacío; podemos anular solo los métodos requeridos de esa clase, heredando esa clase. Clase de adaptador decreciente no de líneas de codificación.
El adaptador es un patrón que proporciona una implementación predeterminada (a menudo vacía) de la interfaz o clase abstracta. Por ejemplo, MouseAdapter
proporciona una implementación vacía de la interfaz de MouseListener
. Es útil porque muy a menudo no se usan todos los métodos declarados por la interfaz, por lo que la implementación de la interfaz directamente es muy detallada.
El controlador es una parte del patrón MVC - Modelo-Vista-Controlador. No hay relación directa con el adaptador.