ANGULAR : SERVICES & DEPENDENCY INJECTION EĞİTİMİ

Servis ve DI mimarisini derinlemesine öğren

Injectable, provider türleri, injector hiyerarşisi ve inject ile temiz bağımlılık yönetimi

Angular Services & Dependency Injection Eğitimi, Angular'ın bağımlılık enjeksiyonu sistemini uçtan uca öğretir. Program Injectable ile servis oluşturma, providedIn kapsamları ve inject fonksiyonu, provider türleri, InjectionToken ve multi provider, injector h…

4 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

providedIn'den provider türlerine ve injector hiyerarşisine kadar bağımlılık enjeksiyonu

Angular Services & Dependency Injection Eğitimi, Angular'ın bağımlılık enjeksiyonu sistemini uçtan uca öğretir. Katılımcılar Injectable ile servis oluşturmayı, providedIn kapsamını ve inject fonksiyonunu öğrenir. Ardından useClass ve useFactory gibi provider türleri, InjectionToken, multi provider, injector hiyerarşisi ve çözümleme değiştiricileri işlenir. Program HttpClient servisleri, interceptor, APP_INITIALIZER ve durum servisiyle tamamlanır.

Süre ve Format

4 Gün. Her gün dört modül; kısa anlatımın ardından örnek bir uygulamanın servis katmanı adım adım kurularak provider ve injector kavramları uygulanır.

Seviye

Orta Seviye — Angular'da servis tasarımı ve bağımlılık enjeksiyonu mimarisi eğitimi

Öğrenme Metodu

Örnek bir uygulamanın servis katmanı dört gün boyunca kurulur; her DI kavramı gerçek bir servis veya provider senaryosuna uygulanır.

Neden Bu Eğitim?

🧱Sağlam mimari

Bağımlılıkları enjeksiyonla yöneterek bileşenleri gevşek bağlı, test edilebilir ve yeniden kullanılabilir bir mimariye kavuşturursunuz.

🎛️Esnek yapılandırma

useFactory ve InjectionToken gibi araçlarla bağımlılıkları ortam ve koşula göre esnek biçimde yapılandırmayı öğrenirsiniz.

🧪Kolay test

DI sayesinde servisleri sahte sağlayıcılarla değiştirerek birim testlerini bağımsız ve hızlı biçimde yazabilir hale gelirsiniz.

Anahtar Konular

angular dependency injection eğitimiangular servis kursubağımlılık enjeksiyonuinjectiontokenangular provider türleriangular di eğitimiangular egitimiangular httpclient servisangular interceptorfrontend mimari eğitimi
“İyi bir bağımlılık enjeksiyonu kodu değiştirmeyi değil, değiştirmeden önce nereye bakacağını bilmeyi kolaylaştırır.”

Ön Koşullar

Eğitime başlamadan önce faydalı olacak Angular ve TypeScript bilgisi

1
Angular temelleri

Bileşen, template ve temel servis kullanımı gibi konulara aşinalık eğitime başlamak için gerekir.

2
TypeScript sınıfları

Sınıf, kurucu metot ve dekoratör gibi temel TypeScript yapılarını bilmek örnekleri izlemeyi kolaylaştırır.

3
Observable aşinalığı

BehaviorSubject ve abonelik kavramına temel aşinalık durum servisi bölümünde faydalı olur.

4
Angular CLI ortamı

Node.js ve Angular CLI'ın kurulu olması, ng serve ile projeyi çalıştırabilir durumda olmak gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Injectable ile servis oluşturur, providedIn ile sağlama kapsamını belirler, kurucu metot ile bağımlılık alır ve inject fonksiyonuyla modern enjeksiyonu uygular.
Modül 1
Servis Oluşturma
  • Injectable dekoratörü ile servis sınıfı tanımı
  • İş mantığının bileşenden servise taşınması
  • ng generate service ile servis üretimi
  • Servisin tek sorumluluk ilkesine uygun tasarımı
  • Durumsuz yardımcı servis ile durumlu servis ayrımı
  • Servislerin bileşenler arası paylaşım mantığı
Modül 2
providedIn Kapsamı
  • providedIn root ile uygulama geneli singleton
  • Tree-shakable provider ile kullanılmayanın elenmesi
  • providedIn platform ile platform düzeyi paylaşım
  • providedIn any ile her injector'da ayrı örnek
  • Kök yerine bileşende sağlama senaryoları
  • Singleton davranışının doğrulanması
Modül 3
Constructor Injection
  • Kurucu metotta bağımlılığın tip ile istenmesi
  • Angular'ın tip bilgisiyle çözümleme yapması
  • private readonly ile bağımlılığın saklanması
  • Birden çok servisin aynı bileşene enjeksiyonu
  • Döngüsel bağımlılık sorununun tanınması
  • Erişim belirleyicilerle bağımlılık kapsülleme
Modül 4
inject Fonksiyonu
  • inject ile kurucu metot dışında bağımlılık alma
  • Fonksiyonel guard ve resolver'da inject kullanımı
  • inject'in yalnızca enjeksiyon bağlamında çalışması
  • Kalıtımda constructor yerine inject avantajı
  • runInInjectionContext ile bağlam sağlama
  • inject ile sadeleşen bileşen kurucu metotları
Günün hedefiKatılımcı farklı provider türlerini kullanarak bağımlılıkları özelleştirir, InjectionToken ile tipsiz bağımlılıkları adlandırır ve multi provider ile eklenti tarzı yapılar kurar.
Modül 1
useClass ve useExisting
  • provide ve useClass ile token'a sınıf eşleme
  • Soyut sınıfla arayüz benzeri sözleşme kurma
  • Ortama göre farklı uygulama sağlama
  • useExisting ile var olan örneğe takma ad
  • Aynı örneğin iki token ile paylaşımı
  • Test ortamında sahte sınıf sağlama
Modül 2
useValue ve useFactory
  • useValue ile sabit yapılandırma nesnesi sağlama
  • useFactory ile çalışma zamanında örnek üretimi
  • deps ile fabrikaya bağımlılık aktarımı
  • Ortam değişkenine göre örnek seçme
  • Fabrikayla koşullu bağımlılık oluşturma
  • useValue ve useFactory seçim ölçütleri
Modül 3
InjectionToken ile Token
  • InjectionToken ile tipli benzersiz token tanımı
  • Arayüz ve ilkel değerlerin enjeksiyonu
  • factory seçeneğiyle varsayılan değer sağlama
  • Yapılandırma nesnesini token ile dağıtma
  • String token yerine InjectionToken tercihi
  • Token'ın birden çok yerde yeniden kullanımı
Modül 4
Multi Provider Deseni
  • multi true ile aynı token'a çoklu kayıt
  • Birden çok sağlayıcının dizi olarak alınması
  • Eklenti ve strateji listesi oluşturma
  • HTTP_INTERCEPTORS token'ında multi kullanımı
  • Validator sağlayıcılarında multi deseni
  • Modüllerin ortak bir listeye katkı sunması
Günün hedefiKatılımcı Angular'ın injector ağacını kavrar, bileşen düzeyinde servis sağlar ve Self, SkipSelf, Optional ile Host değiştiricileriyle çözümleme davranışını yönetir.
Modül 1
Injector Ağacı ve Katmanlar
  • ModuleInjector ve ElementInjector ayrımı
  • Çözümlemenin yukarı doğru ilerlemesi
  • Kök injector ile bileşen injector farkı
  • Bağımlılığın bulunamaması ve NullInjector hatası
  • Injector ağacının bileşen ağacıyla ilişkisi
  • Platform ve kök injector katmanları
Modül 2
Bileşen Düzeyinde Sağlama
  • Component providers ile yerel servis örneği
  • Her bileşen örneğine ayrı servis verilmesi
  • Alt ağaçta paylaşılan servis senaryosu
  • Yerel durumun bileşene kapsüllenmesi
  • viewProviders ile projeksiyon kapsamı farkı
  • Singleton yerine bileşen kapsamlı tercih
Modül 3
Çözümleme Değiştiricileri
  • Optional ile bağımlılık yoksa null kabulü
  • Self ile yalnızca yerel injector'da arama
  • SkipSelf ile yerelin atlanıp üste bakılması
  • Host ile çözümlemenin host sınırında durması
  • inject seçenekleriyle aynı davranışların kullanımı
  • Değiştiricilerin birlikte kombinasyonu
Modül 4
Kapsam Desenleri
  • Lazy modülde ayrı servis örneği davranışı
  • Paylaşılan durum için kök, izole durum için yerel
  • Parent servisi SkipSelf ile override etme
  • forRoot deseniyle tekil servis garantisi
  • Yanlış kapsam seçiminin yol açtığı hatalar
  • Kapsam kararında ekip içi tutarlılık
Günün hedefiKatılımcı HttpClient ile veri servisi yazar, interceptor ile istekleri kesip zenginleştirir, APP_INITIALIZER ile başlangıç yapılandırmasını yükler ve BehaviorSubject ile durum servisi kurar.
Modül 1
HttpClient Servisi
  • HttpClient ile veri erişim servisinin yazımı
  • Tipli yanıtla get ve post isteklerinin kurulması
  • Repository tarzı servisle API'nin soyutlanması
  • provideHttpClient ile modülsüz kurulum
  • Hata ve yükleniyor durumunun servise taşınması
  • Servisin bileşenlerce ortak kullanımı
Modül 2
HTTP Interceptor
  • Interceptor ile isteğe token başlığı ekleme
  • Fonksiyonel interceptor ile güncel yaklaşım
  • Yanıt hatalarının merkezi olarak yakalanması
  • İstek loglama ve yükleniyor sayacı
  • HTTP_INTERCEPTORS ile multi provider kaydı
  • Interceptor zincirinin çalışma sırası
Modül 3
Uygulama Başlatma
  • APP_INITIALIZER ile açılışta yapılandırma yükleme
  • provideAppInitializer ile güncel kullanım
  • Uzak yapılandırmanın uygulama hazır olmadan gelmesi
  • Fabrika ile başlatma işleminin Promise dönüşü
  • ENVIRONMENT_INITIALIZER ile ortam kurulumu
  • Başlatma hatasının açılışta ele alınması
Modül 4
Durum Servisi Tasarımı
  • BehaviorSubject ile merkezi durum tutma
  • asObservable ile okunur akış sunma
  • Durumun tek noktadan güncellenmesi
  • Signal tabanlı durum servisine giriş
  • Durum servisinin bileşenlerce tüketimi
  • Store benzeri servis ile veri tek kaynağı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Servis tasarımı

Injectable ile tek sorumluluğa odaklı servisler yazarak iş mantığını bileşenlerden temiz biçimde ayırabilirsiniz.

✅
Kapsam kontrolü

providedIn seçenekleriyle servislerin singleton mu yoksa bileşen kapsamlı mı olacağını bilinçli biçimde belirleyebilirsiniz.

✅
Modern enjeksiyon

inject fonksiyonuyla kurucu metot dışında ve fonksiyonel bağlamlarda bağımlılıkları sade biçimde alabilirsiniz.

✅
Provider esnekliği

useClass, useValue, useFactory ve useExisting ile bağımlılıkları ortam ve koşula göre esnek biçimde sağlayabilirsiniz.

✅
Token ile yapılandırma

InjectionToken ve multi provider ile tipsiz bağımlılıkları adlandırır ve eklenti tarzı yapılar kurabilirsiniz.

✅
Injector hiyerarşisi

Injector ağacını ve Self, SkipSelf, Optional değiştiricilerini kullanarak çözümleme davranışını kontrol edebilirsiniz.

✅
HTTP ve interceptor

HttpClient servisleri yazar, interceptor ile istekleri kesip token ekleme ve hata yakalama akışlarını kurabilirsiniz.

✅
Durum ve başlatma

APP_INITIALIZER ile açılış yapılandırması yükler, BehaviorSubject tabanlı merkezi durum servisi kurabilirsiniz.

Kimler İçin Uygundur?

  • Angular ile bileşen yazan ancak servis tasarımı
  • provider yapılandırması
  • injector hiyerarşisi konularını gerçekten anlamak isteyen ön yüz geliştiricileri ve uygulama mimarisini sağlamlaştırmak isteyen yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Angular ile bileşen yazan ancak servis tasarımı, provider yapılandırması ve injector hiyerarşisini gerçekten anlamak isteyen geliştiriciler için uygundur. Temel Angular ve TypeScript sınıf bilgisi yeterlidir; DI konuları temelden ileriye işlenir.
providedIn root ve bileşen sağlaması farkı anlatılıyor mu?
Evet, servis kapsamı eğitimin önemli bir bölümünü oluşturur. providedIn root ile uygulama geneli singleton ve bileşen düzeyinde providers ile yerel örnek davranışı, injector hiyerarşisiyle birlikte somut örneklerle karşılaştırmalı olarak işlenir.
inject fonksiyonu mu yoksa constructor injection mı öğretiliyor?
İkisi de öğretilir. Klasik constructor injection ile birlikte güncel inject fonksiyonu, fonksiyonel guard ve resolver'larda kullanımı ve kurucu metodu sadeleştiren yapısı ele alınır. Böylece hem mevcut hem güncel proje yaklaşımları kapsanır.
Eğitimin süresi ve formatı nedir?
Eğitim dört gün sürer ve her gün dört modülden oluşur. Örnek bir uygulamanın servis katmanı gün gün geliştirilir. Yüz yüze veya online yapılabilir ve kurumun kullandığı Angular sürümüne göre içerik uyarlanabilir.
Eğitim sonunda sertifika veriliyor mu?
Programı tamamlayan katılımcılar Digital Vizyon Akademi Katılım ve Başarı Sertifikası alır. Sertifika tamamlanan modülleri ve eğitim boyunca geliştirilen örnek çalışmaları belgeler; kurumsal gruplara özel uyarlama yapılabilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Angular : Services & Dependency Injection Eğitimi Sertifika Kodu DV-2026XX00 Tarih 15.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

AngularAngular ve Firebase ile Web Uygulamaları Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Angular ve Firebase ile Web Uygulamaları Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

AngularFire, Firestore, Authentication, Cloud Functions ve Hosting ile sunucusuz, gerçek zamanlı web uygulaması geliştirme eğitimi.

Detayları Gör →
AngularAngular ve RxJS ile Reaktif Programlama Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Angular ve RxJS ile Reaktif Programlama Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Observable, operatörler, Subject, higher-order akışlar ve hata yönetimiyle Angular'da RxJS reaktif programlama eğitimi.

Detayları Gör →
AngularAngular ve Web API ile Full-Stack Applications Bootcamp Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Angular ve Web API ile Full-Stack Applications Bootcamp Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

Angular ön yüzü ve ASP.NET Core Web API ile REST, JWT kimlik doğrulama ve dağıtımı kapsayan tam yığın uygulama bootcamp eğitimi.

Detayları Gör →
AngularComprehensive Testing Angular Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Comprehensive Testing Angular Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Jasmine, Karma, TestBed, HttpTestingController ve Cypress ile Angular birim, entegrasyon ve E2E test eğitimi. Uygulamalı ve kurumsal.

Detayları Gör →
Angularİleri Seviye (Advanced) Angular Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

İleri Seviye (Advanced) Angular Eğitimi

5 günİleriOnline / Yüz Yüze / Hibrit

Change detection, Signals, ileri RxJS, dinamik bileşen, NgRx, SSR ve performans optimizasyonuyla ileri seviye Angular eğitimi. Uygulamalı.

Detayları Gör →
AngularTemel ve İleri Seviye Angular Eğitimi
Web ve Ön Yüz Geliştirme Eğitimleri

Temel ve İleri Seviye Angular Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Bileşen ve veri bağlamadan routing, formlar, RxJS, durum yönetimi ve yayına kadar Angular'ı temelden ileriye öğreten eğitim. Uygulamalı.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn