Waarom wordt het gebruik van LocalContext.current afgeraden in lagen van businesslogica, zoals Use Case of repository?
sobes.tech AI
Antwoord van AI
Het gebruik van LocalContext.current in lagen van bedrijfslogica, zoals Use Case of repository, wordt om verschillende redenen niet aanbevolen:
-
Schending van het principe van enkele verantwoordelijkheid — de bedrijfslaag moet onafhankelijk zijn van platform- of UI-specifieke details, en LocalContext.current is gerelateerd aan de UI-context.
-
Moeilijkheden met testen — directe toegang tot LocalContext bemoeilijkt het schrijven van unittests, omdat een specifieke omgeving nodig is.
-
Verlies van draagbaarheid en hergebruik — bedrijfslogica die gebonden is aan een specifieke context, is moeilijker te gebruiken in andere delen van de applicatie of op andere platforms.
Het is beter om de benodigde gegevens of contexten expliciet door te geven via functiedeclaraties of afhankelijkheidsinjectie te gebruiken, zodat de bedrijfslaag schoon en onafhankelijk van de UI blijft.