PATTERNS IN PROGRAMMING: API DESIGN PATTERNS EĞİTİMİ

API tasarımında doğru deseni doğru yerde kullan

REST kaynak modeli, Facade, Adapter, DTO, Strategy, HATEOAS ve dayanıklılık desenleriyle temiz API tasarımı öğrenin.

REST kaynak modeli, Facade, Adapter, DTO, Strategy, HATEOAS ve dayanıklılık desenleriyle temiz API tasarımı öğrenin. Katılımcılar örnek bir sipariş API'sine desenleri adım adım uygular, öncesi-sonrası kod karşılaştırmasıyla farkı görür.

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

Eğitim Hakkında

API tasarım desenleri: kaynak modeli, yapısal ve davranışsal desenler, sözleşme ve dayanıklılık

Bu eğitim, API tasarımında kullanılan kaynak modeli ve yazılım desenlerini birlikte ele alır. REST kısıtları ve kaynak adlandırma, sayfalama ve sürümleme, Facade, Adapter, DTO/Mapper, Builder, Repository, Decorator ve Proxy desenleri; Strategy, Observer, Factory ve Chain of Responsibility ile davranış tasarımı; HATEOAS, OpenAPI sözleşmesi, RFC 7807 hata modeli, retry, circuit breaker ve OAuth 2.0 korumalı uç noktalar işlenir. Her desen gerçekçi API koduyla gösterilir.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar Kaynak Modeli ve Yapısal Desenler → Davranışsal Desenler ve Sözleşme → İstemci, Güvenlik ve Dayanıklılık sırasıyla ilerler.

Seviye

Orta Seviye — API tasarım desenleri: kaynak modeli, yapısal ve davranışsal desenler, sözleşme ve dayanıklılık.

Öğrenme Metodu

Katılımcılar örnek bir sipariş API'sine desenleri adım adım uygular, öncesi-sonrası kod karşılaştırmasıyla farkı görür.

Neden Bu Eğitim?

🏗️Temiz Yapı

Controller, servis ve istemci katmanlarını desenlerle sade ve genişletilebilir kurarsınız.

📐Tasarım Dili

Ekibinizle ortak desen dili üzerinden tasarım tartışırsınız.

🛡️Dayanıklı Tüketim

API çağıran kodu geçici hatalara karşı sağlamlaştırırsınız.

Anahtar Konular

API tasarım desenleridesign patterns APIFacadeAdapterDTOStrategy deseniHATEOASOpenAPIREST API tasarımıyazılım tasarım desenleri
“Desen, aynı sorunu ikinci kez yaşamamak için bırakılan işaret taşıdır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
HTTP Temel Bilgisi

URL, istek ve yanıt kavramlarına genel aşinalık yeterlidir.

2
Programlama Deneyimi

Herhangi bir dilde temel değişken, fonksiyon ve JSON okuma becerisi beklenir.

3
Kurulu Araçlar

Postman veya curl ile bir kod düzenleyici (VS Code / IntelliJ) kurulu olmalıdır.

4
Çalışma Ortamı

İnternet erişimli, yönetici izni olan ve en az 8 GB RAM'li bir dizüstü bilgisayar 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ı REST kısıtlarını ve Richardson olgunluk modelini örneklerle açıklar, Kaynak odaklı URI, sayfalama, filtreleme ve sürümleme kurallarını uygular, Facade, Adapter, DTO, Builder ve Repository desenlerini API katmanında uygular ve Hipermedya bağlantılarını HAL ve JSON:API biçimleriyle yanıtlara ekler.
Modül 1
REST Mimari Kısıtları ve Kaynak Modeli
  • Roy Fielding tezindeki altı kısıt: istemci-sunucu, durumsuzluk, önbellek, tektip arayüz, katmanlı sistem, isteğe bağlı kod
  • Richardson olgunluk modeli: Seviye 0 (RPC) ile Seviye 3 (HATEOAS) arasındaki farkın örnekle gösterilmesi
  • Kaynak (resource) ile temsil (representation) ayrımı ve URI ile kaynak kimliklendirme
  • Durumsuzluğun oturum yönetimi, ölçeklenme ve yük dengeleme üzerindeki etkisi
  • REST, SOAP, gRPC ve GraphQL karşılaştırması: hangi senaryoda hangisi seçilir
  • Gerçek bir genel API (GitHub, Stripe veya OpenWeather) üzerinde REST uyumluluk denetimi
Modül 2
API Tasarım İlkeleri ve Kaynak Adlandırma
  • Çoğul isim tabanlı URI tasarımı: /orders/{id}/items yerleşimi ve fiil içeren yolların neden kaçınılması gerektiği
  • Sayfalama stratejileri: offset/limit, sayfa numarası ve cursor tabanlı (keyset) sayfalama
  • Filtreleme, sıralama ve alan seçimi için sorgu parametresi sözleşmeleri (?status=open&sort=-created)
  • Sürümleme yaklaşımları: URI (/v1), başlık ve media type tabanlı sürümleme ile geri uyumluluk kuralları
  • Toplu işlem (bulk), uzun süren işlemler için 202 Accepted ve durum sorgulama kaynağı
  • API değişiklik yönetimi: deprecation, Sunset başlığı ve kırıcı değişiklik tespiti
Modül 3
API Tasarım Desenleri
  • Facade ile karmaşık alt sistemleri tek servis arayüzünün arkasına gizleme
  • Adapter ile üçüncü taraf API modellerini iç domain modeline çevirme
  • DTO ve Mapper (MapStruct) ile entity'nin dışarı sızmasını engelleme
  • Builder ve Fluent Interface ile okunabilir istemci/istek oluşturma
  • Repository ve Unit of Work ile veri erişiminin soyutlanması
  • Decorator ve Proxy ile önbellekleme, günlükleme ve yetki kontrolünün araya girmesi
Modül 4
HATEOAS ve Hipermedya Formatları
  • HATEOAS fikri: istemcinin sonraki eylemleri yanıttaki bağlantılardan keşfetmesi
  • HAL (_links, _embedded), JSON:API ve Siren biçimlerinin karşılaştırılması
  • Spring HATEOAS ile EntityModel, CollectionModel ve link ilişkisi (rel) oluşturma
  • Durum geçişlerine bağlı dinamik bağlantılar: sipariş iptal edilebilirse cancel linki gösterme
  • Sayfalama bağlantıları: self, next, prev, first, last ve Link başlığı (RFC 8288)
  • Hipermedya kullanımının istemci karmaşıklığına etkisi ve pratikte ne zaman değer kattığı
Günün hedefiKatılımcı Strategy, Observer, Factory, Template Method ve Chain of Responsibility desenlerini API kodunda kullanır, GET, POST, PUT, PATCH ve DELETE metotlarını güvenlik ve idempotency açısından ayırır, HTTP durum kodlarını seçer ve RFC 7807 Problem Details ile hata yanıtı tasarlar ve OpenAPI 3 tanımı yazar, Swagger UI ve kod üreticilerle sözleşme öncelikli çalışır.
Modül 1
Programlamada Davranışsal ve Yaratımsal Desenler
  • Strategy ile ödeme, fiyatlama veya sıralama algoritmasının çalışma zamanında değiştirilmesi
  • Observer / Event Listener ile durum değişikliklerinin yayınlanması ve gevşek bağlılık
  • Factory Method ve Abstract Factory ile istemci/sağlayıcı nesne üretiminin merkezileştirilmesi
  • Template Method ile ortak iş akışı iskeleti, adımların alt sınıflarda özelleştirilmesi
  • Chain of Responsibility ile doğrulama, yetki ve dönüştürme ara katmanları
  • Desen kötüye kullanımı: aşırı mühendislik, tekil (singleton) sorunları ve alternatif işlevsel çözümler
Modül 2
HTTP Metotları ve Idempotency
  • GET, HEAD, OPTIONS metotlarının güvenli (safe) olması ve PUT, DELETE metotlarının idempotent olması
  • POST ile PUT arasındaki fark: kaynak oluşturma, tam değiştirme ve 201 Created ile Location başlığı
  • PATCH ile kısmi güncelleme: JSON Merge Patch (RFC 7396) ve JSON Patch (RFC 6902) karşılaştırması
  • Idempotency-Key başlığı ile ödeme gibi kritik POST isteklerinin tekrar güvenli hale getirilmesi
  • Koşullu istekler: If-Match ve ETag ile iyimser eşzamanlılık (optimistic concurrency) kontrolü
  • Metot override (X-HTTP-Method-Override) ve OPTIONS ile Allow başlığının keşif amaçlı kullanımı
Modül 3
Durum Kodları ve Hata Modelleri
  • 2xx, 3xx, 4xx, 5xx sınıfları: 200, 201, 202, 204, 301, 304, 400, 401, 403, 404, 409, 422, 429, 500, 503 ayrımı
  • 401 Unauthenticated ile 403 Forbidden arasındaki fark ve WWW-Authenticate başlığı
  • 400 ile 422 arasında doğrulama hatası kararı ve alan bazlı hata listesi döndürme
  • RFC 7807 application/problem+json biçimi: type, title, status, detail ve instance alanları
  • Retry-After, 429 Too Many Requests ve 503 durumlarında istemci tarafı yeniden deneme davranışı
  • Hata yanıtlarında yığın izi sızıntısı ve hassas bilgi ifşasını önleme kuralları
Modül 4
OpenAPI ile Sözleşme Öncelikli Tasarım
  • OpenAPI 3.0 belge yapısı: info, servers, paths, components, schemas ve securitySchemes
  • JSON Schema ile nesne modelleme: required, enum, oneOf, allOf ve $ref ile yeniden kullanım
  • Swagger Editor ve Swagger UI ile etkileşimli dokümantasyon yayınlama
  • openapi-generator ile istemci SDK ve sunucu iskeleti üretimi
  • Spectral ile OpenAPI lint kuralları ve CI hattında sözleşme doğrulama
  • Örnek (example) ve yanıt şeması ile mock sunucu (Prism) üzerinden tüketici ekiple paralel çalışma
Günün hedefiKatılımcı Retry, Circuit Breaker, Idempotent Receiver, Pagination Iterator ve Throttling desenlerini uygular, API kimlik doğrulama yöntemlerini, JWT yapısını ve OWASP API Top 10 risklerini ele alır, API Gateway ile yönlendirme, kimlik doğrulama ve BFF desenini uygular ve Circuit breaker, bulkhead, timeout ve retry desenleriyle hata yayılımını sınırlar.
Modül 1
API Programlamada Dayanıklılık ve İstemci Desenleri
  • Retry with Backoff ve jitter ile geçici hataların yönetimi, yeniden denenmemesi gereken durumlar
  • Circuit Breaker ve Timeout ile yavaş bağımlılıklara karşı koruma
  • Idempotent Receiver ile tekrar eden iletilerin güvenli işlenmesi
  • Pagination Iterator / Generator ile sayfalı API'leri akış gibi tüketme
  • Client-side throttling, token bucket ve Retry-After saygısı
  • Anti-corruption katmanı ve sözleşme testleriyle dış API değişikliklerine dayanıklılık
Modül 2
API Güvenliği: OAuth 2.0, JWT ve Oran Sınırlama
  • API anahtarı, Basic Auth, Bearer token ve OAuth 2.0 akışları: authorization code (PKCE), client credentials
  • JWT yapısı: header, payload, imza, exp/iat/aud talepleri ve RS256 ile HS256 farkı
  • Scope ve rol tabanlı yetkilendirme ile nesne düzeyi yetki kontrolü (BOLA) açığı örneği
  • OWASP API Security Top 10: aşırı veri ifşası, mass assignment ve bozuk kimlik doğrulama
  • Oran sınırlama (rate limiting) algoritmaları: token bucket, sliding window ve 429 yanıtı
  • CORS yapılandırması, girdi doğrulama ve TLS zorunluluğu (HSTS) ile temel sertleştirme
Modül 3
API Gateway ve BFF Deseni
  • API Gateway rolü: yönlendirme, birleştirme (aggregation), kimlik doğrulama, rate limit ve TLS sonlandırma
  • Spring Cloud Gateway, Kong, NGINX ve Envoy seçeneklerinin karşılaştırılması
  • Backend for Frontend (BFF) deseni: mobil, web ve üçüncü taraf istemciler için ayrı katmanlar
  • Gateway üzerinde JWT doğrulama, correlation ID ekleme ve istek dönüştürme filtreleri
  • Gateway'in tek hata noktası olmasını önleme: yüksek erişilebilirlik ve önbellekleme
  • GraphQL federasyonu ile gateway katmanında şema birleştirme yaklaşımı
Modül 4
Dayanıklılık Desenleri: Circuit Breaker ve Retry
  • Kademeli hata (cascading failure) senaryosu ve zaman aşımı bütçesi hesaplama
  • Circuit Breaker durumları: closed, open, half-open ve eşik yapılandırması
  • Retry stratejileri: sabit, üssel geri çekilme (exponential backoff) ve jitter
  • Bulkhead ve rate limiter ile kaynak yalıtımı; thread pool ve semaphore yaklaşımları
  • Fallback ve zarif bozulma (graceful degradation): önbellekten yanıt, varsayılan değer
  • Chaos Monkey benzeri hata enjeksiyonu ile dayanıklılık davranışının doğrulanması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
REST Kısıtları

REST kısıtlarını ve Richardson olgunluk seviyelerini bir API üzerinde değerlendirebilirsiniz.

🧩
API Tasarım Desenleri

Facade, Adapter ve DTO gibi desenleri API katmanlarında yerinde kullanabilirsiniz.

🛠️
Hipermedya

Yanıtlara HAL veya JSON:API bağlantıları ekleyerek keşfedilebilir API sunabilirsiniz.

🔐
HTTP Metotları

Metotları güvenli ve idempotent olma özelliklerine göre doğru senaryoda kullanabilirsiniz.

📈
Hata Modeli

Doğru HTTP durum kodlarını seçip RFC 7807 uyumlu hata yanıtları tasarlayabilirsiniz.

🧪
İstemci Desenleri

Tüketici tarafında retry, devre kesici ve sayfalama iteratörü gibi desenlerle sağlam API istemcileri yazabilirsiniz.

🚀
API Güvenliği

OAuth 2.0 ve JWT ile korunan API akışlarını kurup yaygın OWASP API risklerini kapatabilirsiniz.

🔎
Dayanıklılık

Resilience4j ile circuit breaker, retry ve bulkhead desenlerini uygulayıp hata yayılımını sınırlayabilirsiniz.

Kimler İçin Uygundur?

  • API tasarlayan backend geliştiriciler
  • mimarlar
  • kod kalitesini artırmak isteyen orta-ileri seviye yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
API tasarlayan backend geliştiriciler, mimarlar ve kod kalitesini artırmak isteyen orta-ileri seviye yazılımcılar için uygundur.
Hangi dil kullanılır?
Örnekler Java ile verilir; desenler C# ve TypeScript için de uyarlanabilir şekilde anlatılır.
GoF desenlerini bilmem gerekir mi?
Hayır, kullanılan desenler eğitimde tanıtılır.
Aşırı mühendislik riski ele alınıyor mu?
Evet, her deseni ne zaman kullanmamak gerektiği ayrıca tartışılır.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların sınav ve sertifikalarıyla bir bağı yoktur.

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. Patterns in Programming: API Design Patterns Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

API ve Mikroservis MimarisiMonolitik Uygulamalardan Mikroservislere Geçiş Eğitimi
Yazılım Geliştirme Eğitimleri

Monolitik Uygulamalardan Mikroservislere Geçiş Eğitimi

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

Monolitik uygulamaların mikroservislere dönüşümü: strateji, ayrıştırma, entegrasyon ve yayın. 4 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiPath Interface, Files Class, & Stream API Eğitimi
Yazılım Geliştirme Eğitimleri

Path Interface, Files Class, & Stream API Eğitimi

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

Java NIO.2 Path ve Files sınıfı ile Stream API: dosya sistemi, I/O ve akış tabanlı veri işleme. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiPatterns in Programming: Patterns in API Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Patterns in Programming: Patterns in API Programming Eğitimi

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

API programlamada desenler: yaratımsal, yapısal ve davranışsal desenler, istemci dayanıklılığı ve refactoring. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Se

Detayları Gör →
API ve Mikroservis MimarisiPerformance Engineering: Fixing Microservices Performance Issues Eğitimi
Yazılım Geliştirme Eğitimleri

Performance Engineering: Fixing Microservices Performance Issues Eğitimi

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

Mikroservis performans sorunlarının ölçümü, profillenmesi ve giderilmesi. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiPostman ile API Testi Eğitimi
Yazılım Geliştirme Eğitimleri

Postman ile API Testi Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Postman ile API testi: koleksiyonlar, pm.test betikleri, veri güdümlü çalıştırma ve Newman CI. 2 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

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