¿Es posible implementar el patrón Model-View-Controller en Java para Android? ¿O ya se implementa a través de actividades? ¿O hay una mejor manera de implementar el patrón MVC para Android?
Respuestas
¿Demasiados anuncios?En Android no tiene MVC, pero usted tiene los siguientes:
- Definir la interfaz de usuario en varios archivos XML mediante resolución, hardware, etc.
- Define sus recursos en varios archivos XML de configuración regional, etc.
- Extender clases como ListActivity, TabActivity y hacer uso de el archivo XML por inflaters.
- Usted puede crear tantas clases como usted desea para su lógica de negocio.
- Un montón de Utilidades han sido ya escritos para usted - DatabaseUtils, Html.
No es universalmente único patrón MVC. MVC es un concepto más que un sólido marco de programación. Usted puede implementar su propio MVC en cualquiera de las plataformas. Mientras usted se pega a la siguiente idea básica, que son la implementación de MVC:
- Modelo: Qué mostrar
- Vista: Cómo hacer
- Controlador: Eventos, la entrada de usuario
También piense de esta manera, cuando usted programa su modelo, el modelo no necesita preocuparse acerca de la representación (o de la plataforma de código específico). El modelo diría a la vista, no me importa su representación es Android o iOS o Windows Phone, esto es lo que deben representar. La opinión podría manejar sólo las específicas de la plataforma de renderizado de código.
Esto es particularmente útil cuando se utiliza Mono para compartir el modelo con el fin de desarrollar aplicaciones multiplataforma.
Las acciones, opiniones y actividades en Android son el horno en forma de trabajar con la interfaz de usuario de Android y son una implementación de un patrón modelo, vista, vista de modelo, el cual es estructuralmente similar (en la misma familia) Model-View-Controller.
A lo mejor de mi conocimiento, es imposible escapar de este modelo. Probablemente se puede hacer, pero es probable que perderían todos los beneficios que tiene el modelo existente y tendrá que reescribir su propia capa de interfaz de usuario para que funcione.
He escrito una respuesta a una pregunta similar aquí: que los patrones de diseño se utilizan en Android?
Si alguien debería estar interesado en darle una lectura. En resumen, creo que MVP queda mucho mejor para el desarrollo de Android.
No existe un único Patrón MVC podría obedecer. MVC sólo estados más o menos que no deben mezclarse los datos y la vista, así que por ejemplo. las vistas son responsables para la celebración de datos o clases de procesamiento de datos están afectando directamente a la vista.
Pero, sin embargo, la forma en que Android se ocupa de las clases y de los recursos, que a veces incluso se ve obligado a seguir el patrón MVC. Más complicado que en mi opinión son las actividades que son responsables a veces de la vista pero, sin embargo, actuar como un controlador en el mismo tiempo.
Si usted definir sus puntos de vista y las presentaciones de los archivos xml, la carga de sus recursos desde la carpeta res, y si usted evitar que más o menos se mezclan las cosas en su código, entonces usted está de todos modos siguiendo un patrón MVC.