Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

312
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda