Mejores prácticas de Android para el problema de la estructura del paquete

Residencia en

  • Android-paquete-estructura-mejor-práctica

  • Arquitectura de Android

He hecho la siguiente estructura del paquete de Android:

  • Com.company.product.activities

  • Com.company.product.database

  • Com.company.product.fragments

  • Com.company.product.fragments.adapters

  • Com.company.product.models

Pero a veces, según el requisito necesito tener un adaptador para un diálogo de encargo.

¿Dónde debo poner esto? Debido a que es un adaptador pequeño, se utiliza principalmente dentro de una actividad en un diálogo, con operaciones que reflejan de nuevo a la actividad.

Los problemas enfrentados son:

  1. Demasiada referencia de contexto (Actividad) se pasa al adaptador.

  2. Todos los métodos terminan en público, lo que viola el concepto de OOP de ocultar los detalles de implementación.

  3. ¿Cuánto de una diferencia haría tener un adaptador privado junto con la estructura de empaquetado? ¿Es este el método estándar para la estructura de paquetes de proyectos de Android?

Me gustaría poner el adaptador en un paquete de adapters . Incluso si it is small adapter, mostly its to be used within a activity in a dialog, with operations reflecting back to activity que nunca sabrá cómo ese adaptador va a evolucionar y en qué situación se va a utilizar.

Respecto a sus preocupaciones:

  1. Too much of context references – Cada instancia de su adaptador tendrá un único Context a referenciar. Siempre y cuando no se escape nada de su adaptador, entonces esto no es un problema. Es posible que este adaptador se amplíe por otras implementaciones también y que se aplicará a la implementación también.
  2. All methods end up public, which fails the OOP's concept of hiding implementation details . Siempre y cuando usted está llamando adaptador de su aplicación (que siempre debe ser el caso) y no está construyendo un SDK, entonces realmente no veo el problema. Si estás preocupado por las mejores prácticas de OOP, prefiero preocuparme por hacer que el adaptador respete el Single Responsibility Principle : no dejes que el adaptador haga más que mostrar los datos dados .
  3. Teniendo en cuenta la reutilización, preferiría no tener adaptador como un miembro de la clase privada (estática o no). Para agregar más, existe una práctica recomendada que desaconseja el uso del acceso private cuando se trata de llamar private código private de clases internas.

Así que para resumir, teniendo en cuenta la reutilización, Single Responsibility y el artículo de la mejor práctica, estoy a favor o separar adapters a clases dedicadas.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.