¿El desarrollo de la interfaz de usuario de Android se presta bien a un patrón de diseño participativo?

¿La plataforma Android se presta bien a un estilo particular de programación de interfaz de usuario como MVC o MVP? La mayor parte de mi experiencia en la interfaz de usuario es con código de espagueti en un dispositivo incrustado muy antiguo o en GWT con MVP, así que no sé por dónde empezar.

No sé si el Android se presta bien a un patrón de diseño específico cuando se trata de desarrollo de la interfaz de usuario por sí mismo, sin duda puede utilizar un patrón en particular si ayuda.

En caso de duda, puede consultar las directrices estándar de la interfaz de usuario y ver cuáles son las directrices para interacciones específicas.

El patrón MVC es más o menos pre construir en android.

Tiene tres capas que consisten en:

  • El modelo Tus clases de datos, proveedores de contenido, etc. envolviendo todos tus datos.
  • Los controladores Trate todas sus actividades como clases controladoras. No haga nada en ellos que parezca lógica de negocio o persitance de datos. Basta con reaccionar a los eventos del modelo o del usuario y enviarlos a la capa correcta.
  • La vista A menudo las actividades se llaman la vista porque allí es el código java que está más cerca de las vistas. Pero en mi opinión, la capa de vista en Android se define principalmente en xml. Usted define sus botones, imágenes, cambios de estado, etc en xml y luego conectarlo con su aplicación a través de sus actividades.

Hay algunas reglas simples a seguir para tener una separación básica de estas capas.

  • Defina la mayor parte de su interfaz de usuario en xml sólo instanciar vistas si no hay otra manera de lograr algo, no cambia el estado gráfico de las vistas de código, por ejemplo, no cambia el fondo de un botón si el botón está desactivado , O el color de una fuente si se hace clic en un botón, hacer todo esto a través de drawables stateful, y los selectores en xml.
  • No realice ningún ahorro de datos ni lógica en sus clases de actividad. Llame a clases de modelos adicionales para este propósito. Esto hará que sus actividades sean limpias y cortas
  • Si desea cambiar sus datos, piense en pasar por un controlador completo, cambie el modelo -> modelo informa al controlador sobre los cambios -> el controlador cambia el ciclo de la interfaz de usuario en lugar de que el controlador cambie el modelo y la interfaz de usuario directamente porque otros observadores de los modos no pueden Notificado.
  • Implementación de GoogleApiClient en Android mvp con daga?
  • ¿Es una buena idea utilizar Service as Presenter en el contexto MVP
  • ¿Deberían inyectarse los presentadores (mvP) (dagger2) a las vistas en android?
  • Norma de arquitectura de Android MVP para cargar interfaz de usuario con clase Model que tiene recurso android
  • Implementación de MVP con Dagger en un FragmentPagerAdapter
  • En el patrón MVP, ¿deben los adaptadores sujetar modelos o el presentador debe mantener los modelos y hacer que el adaptador lo haga referencia?
  • Ejemplo androide del presentador de la versión / ejemplos del regulador
  • Estrategia de MVP de Android
  • Comunicarse entre presentadores en la aplicación MVP android
  • Realm, RxJava, asObservable () y doOnUnsubscribe ()
  • Realización de Interactors con Android MVP Clean Architecture
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.