Dependency injection (DI) అనేది ఒక నమూనా, ఇక్కడ వస్తువులు వాటి డిపెండెన్సీలను బాహ్యంగా నుండి పొందుతాయి, నిర్మించుకోవటానికి కంటే బదులుగా — టెస్టబిలిటీ, నిర్వహణీయత, మరియు సరళత్వాన్ని మెరుగుపరుస్తుంది. Android లో, Hilt (Dagger పై నిర్మించిన) సిఫారసు చేయబడిన DI ఫ్రేమ్వర్క్.
DI అంటే ఏమిటి మరియు ఎందుకు
WITHOUT DI: a class CREATES its own dependencies (tightly coupled, hard to test/change):
class UserRepo { val api = ApiService() } // creates its own dependency — rigid
WITH DI: dependencies are PROVIDED from outside (injected):
class UserRepo(val api: ApiService) // receives it → flexible, testable
→ Benefits: TESTABILITY (inject mocks/fakes in tests), DECOUPLING, easier to swap
implementations, centralized dependency management, less boilerplate (with a framework).
