Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

310
Vistas
Hacer que el repositorio sea invisible en la capa de dominio de Clean Architecture

Recientemente escuché e investigué sobre la arquitectura limpia y estoy tratando de implementarla por mi cuenta para entenderla profundamente, sé que el módulo de dominio (capa) tiene la lógica y debería tener algunas interfaces, así como casos de uso que usan los repositorios. Por lo que aprendí, la capa de Dominio no tiene acceso a ninguna otra capa, pero las capas de Datos y Presentación tienen acceso a la capa de Dominio pero no entre sí.

La definición de mis repositorios (interfaces) está en el módulo de dominio y su implementación está en el módulo de datos y luego los inyecta Dagger. Además, tengo algunos UseCases que inyectan algunos repositorios.

El problema que tengo es que el módulo de presentación tiene acceso a las interfaces y casos de uso de los repositorios, ya que ambos están en el módulo de dominio y se importan con gradle en la capa de presentación .

No creo que sea bueno tener acceso a ambos en el módulo de presentación , estoy usando Kotlin y la palabra clave interna para aislar las clases de cada módulo, pero como el módulo de datos necesita tener acceso a las interfaces de los repositorios para implementarlos, no puedo usar la palabra clave interna para ellos por lo que están expuestos ahora.

Mi pregunta es, ¿sería posible cambiar el diseño de alguna manera para exponer solo los casos de uso?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si UseCase está relacionado con datos (p. ej., ReadUserUseCase ), entonces su interfaz debe permanecer en el módulo de domain y la implementación debe trasladarse al módulo de data .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda