0Pricing
Angular Academy · Ders

Hizmetler ve Injectable

Paylaşılan mantık için enjekte edilebilir hizmetler oluşturun.

Hizmetler ve Injectable, CoddyKit'te ücretsiz bir Angular Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Angular Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Angular Academy kursu toplamda 4 dersten oluşur.

Servisler ve Injectable

Servis, veri getirme veya paylaşılan bir store gibi yeniden kullanılabilir mantığı ya da durumu barındıran bir sınıftır. Angular, servisleri bağımlılık enjeksiyonu aracılığıyla oluşturur ve paylaşır.

Servisler neden kullanılır

Bileşenler görünüme odaklanmalıdır. İş mantığını, API çağrılarını ve paylaşılan durumu servislerin içine taşıyarak bunların bağımsız şekilde yeniden kullanılmasını ve test edilmesini sağlayın.

Injectable dekoratörü

Angular'ın servisi oluşturabilmesi ve gerektiği yerlere enjekte edebilmesi için servis sınıfını @Injectable ile işaretleyin.

import { Injectable } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class DataService {}

providedIn root

providedIn: 'root', servisi uygulamanın kök enjektörüne kaydeder. Angular, uygulamanın tamamı için bir paylaşılan tek örnek (singleton) oluşturur.

Ağaç sarsılabilir sağlayıcılar

Sağlayıcı, providedIn ile sınıf üzerinde tanımlandığından kullanılmayan servisler paket dışına otomatik olarak çıkarılabilir.

Durum barındıran bir servis

Servisler çoğu zaman durum barındırır. Sinyallerle servisten reaktif durum sunabilirsiniz.

import { Injectable, signal } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class CounterStore {
  count = signal(0);
  increment() { this.count.update(v => v + 1); }
}

Metotlar barındıran bir servis

Bileşenlerin eylemler gerçekleştirmek veya veri almak için çağırabileceği metotlar ekleyin.

@Injectable({ providedIn: 'root' })
export class GreetingService {
  greet(name: string): string {
    return 'Hello, ' + name;
  }
}

Servis oluşturma

CLI, Injectable dekoratörü eklenmiş bir servis için temel dosya yapısını otomatik olarak oluşturur.

ng g service data

Singleton'lar durumu paylaşır

Kök servis bir singleton olduğundan, onu enjekte eden her bileşen aynı örneği ve aynı durumu görür. Bileşenlerin verileri paylaşma biçimi budur.

Servisler servisleri enjekte edebilir

Bir servis, başka servislere bağımlı olabilir. Örneğin bir veri servisi, istek göndermek için HttpClient servisini kullanabilir.

Servisleri odaklı tutun

Her servise tek ve açık bir sorumluluk verin. Küçük ve odaklanmış servislerin test edilmesi ve yeniden kullanılması, birçok işi yapan büyük servislere göre daha kolaydır.

Kısa kontrol: Injectable

Singleton bir servisi kaydetme.

Özet: Servisler

Servislerin yeniden kullanılabilir mantık ve durum barındırdığını, @Injectable ile işaretlendiğini ve uygulama genelinde bir singleton kaydetmek için providedIn: root kullandığını öğrendiniz. Servisler durumu bileşenler arasında paylaşabilir ve başka servislere bağımlı olabilir. Sırada inject işlevi var.

Sıkça Sorulan Sorular

“Hizmetler ve Injectable” dersi ücretsiz mi?

Evet — “Hizmetler ve Injectable” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Angular Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Angular Academy kursu toplamda 4 dersten oluşur.

“Hizmetler ve Injectable” dersinde ne öğreneceğim?

Paylaşılan mantık için enjekte edilebilir hizmetler oluşturun. Angular Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Angular Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Angular Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Hizmetler ve Injectable” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Angular Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Angular Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Hizmetler ve Injectable
  2. inject İşlevi
  3. Sağlayıcılar ve Kapsamlar
  4. Enjeksiyon Belirteçleri
← Angular Academy Sayfasına Dön