-
Notifications
You must be signed in to change notification settings - Fork 16
Como funciona um módulo do tipo feature?
O diagrama a seguir mostra uma radiografia
Claro que, nem sempre um módulo feature precisa ter todos esses elementos, mas em boa parte dos casos, temos os seguintes pacotes:
-
Data: aonde é definido a fonte dos dados, os quais podem ser disponibilizados para o módulo como um Repository;
-
Domain: aonde temos classes que representam estado da nossa regra de negócio (models) e os
UseCases
que permitem acessar a camada de dados de uma forma mais abstrata; -
DI: aonde temos a construção dos objetos, esse pacote não está no diagrama, mas nele definimos como o Koin deve criar as instâncias necessárias para o módulo funcionar;
-
Presentation: aonde colocamos nossos componentes de UI, nossas telas e os
ViewModels
que se relacionam fortemente com osUseCases
da camada de Domain.
O que mais importa aqui não é o nome dos pacotes, mas sim o protocolo de comunicação entre os diferentes elementos de software.