# डिपेंडेंसी इंजेक्शन — एंगुलर

Source: https://www.geekswithgeeks.com/hi/angular/ng-dependency-injection

> किसी कंपोनेंट में सर्विस इंस्टेंस लाने के दो तरीके।

## कंस्ट्रक्टर इंजेक्शन

कंस्ट्रक्टर में एक टाइप्ड पैरामीटर घोषित करना वह पारंपरिक तरीका है जिससे Angular का इंजेक्टर सर्विस देता है।

```typescript
@Component({ selector: 'app-cart', standalone: true, template: `...` })
export class CartComponent {
  constructor(private cartService: CartService) {}

  items = this.cartService.getItems();
}
```

## inject() फ़ंक्शन

`inject()` बिना किसी कंस्ट्रक्टर पैरामीटर के डिपेंडेंसी लाता है — फ़ील्ड इनिशियलाइज़र और functional guards के लिए उपयोगी।

```typescript
import { Component, inject } from '@angular/core';

@Component({ selector: 'app-cart', standalone: true, template: `...` })
export class CartComponent {
  private cartService = inject(CartService);
  items = this.cartService.getItems();
}
```

## DI क्यों ज़रूरी है

डिपेंडेंसी इंजेक्शन कंपोनेंट को टेस्ट करना आसान बनाता है — यूनिट टेस्ट में असली सर्विस की जगह एक नकली सर्विस उपयोग करें।
