Dlaczego korzystanie z LocalContext.current jest niezalecane w warstwach logiki biznesowej, takich jak Use Case czy repozytorium?
sobes.tech AI
Odpowiedź od AI
Używanie LocalContext.current w warstwach logiki biznesowej, takich jak Use Case czy repozytorium, jest niezalecane z kilku powodów:
-
Naruszenie zasady pojedynczej odpowiedzialności — warstwa biznesowa powinna być niezależna od szczegółów platformy lub UI, a LocalContext.current jest związany z kontekstem UI.
-
Trudności z testowaniem — bezpośredni dostęp do LocalContext utrudnia pisanie testów jednostkowych, ponieważ wymaga specyficznego kontekstu środowiska.
-
Utrata przenośności i ponownego użycia — logika biznesowa związana z konkretnym kontekstem jest trudniejsza do użycia w innych częściach aplikacji lub na innych platformach.
Lepszym rozwiązaniem jest jawne przekazywanie potrzebnych danych lub kontekstów przez parametry funkcji lub korzystanie z wstrzykiwania zależności, aby warstwa biznesowa pozostała czysta i niezależna od UI.