Sobes.tech
Middle

Háblame de los patrones de diseño utilizados en el desarrollo de aplicaciones para Android.

sobes.tech AI

Respuesta de la IA

MVC (Modelo-Vista-Controlador): Divide la aplicación en tres partes interrelacionadas:

  • Modelo: Lógica de negocio y datos.
  • Vista: Presentación de datos.
  • Controlador: Procesa la entrada del usuario y actualiza el Modelo y la Vista.

MVP (Modelo-Vista-Presentador): Versión mejorada de MVC para Android. El Presentador actúa como intermediario entre Modelo y Vista. La Vista no tiene acceso directo al Modelo.

MVVM (Modelo-Vista-ViewModel): Basado en el enlace de datos (data binding). El ViewModel contiene datos y lógica de presentación, sin referirse a la Vista. La Vista observa cambios en el ViewModel.

Arquitectura Limpia: División de la aplicación en capas (Dominio, Datos, Presentación) con dependencias y reglas claras.

Singleton: Garantiza que una clase tenga solo una instancia.

Método Fábrica: Proporciona una interfaz para crear objetos en la superclase, permitiendo a las subclases cambiar el tipo de objetos creados.

Observador: Permite a un objeto notificar a objetos dependientes sobre cambios en el estado. Se usa a menudo con LiveData o Flow.

Adaptador: Permite que clases con interfaces incompatibles trabajen juntas. Se usa, por ejemplo, para enlazar datos a RecyclerView.

Constructor: Permite crear objetos complejos paso a paso.

Decorador: Agrega funcionalidad nueva a un objeto dinámicamente, envolviéndolo.