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

API kodunu desenlerle sadeleştir ve sağlamlaştır

API programlamada kullanılan yaratımsal, yapısal ve davranışsal desenleri; istemci dayanıklılığı ve refactoring tekniklerini uygulamalı öğrenin.

API programlamada kullanılan yaratımsal, yapısal ve davranışsal desenleri; istemci dayanıklılığı ve refactoring tekniklerini uygulamalı öğrenin.

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

Eğitim Hakkında

API programlamada desenler: yaratımsal, yapısal ve davranışsal desenler, istemci dayanıklılığı ve refactoring

Bu eğitim, API programlama sırasında karşılaşılan tekrarlayan problemlere desen temelli çözümler sunar. Strategy, Observer, Factory, Template Method ve Chain of Responsibility; Facade, Adapter, DTO, Builder ve Decorator; Retry with Backoff, Circuit Breaker, Idempotent Receiver, Pagination Iterator ve client-side throttling; JSON/XML içerik pazarlığı ve idempotent metot tasarımı işlenir. Son gün kod kokuları, Extract Method gibi refactoring dönüşümleri ve karakterizasyon testi ile mevcut API kodu sadeleştirilir.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar Programlama Desenleri ve API Katmanı → Tüketici Desenleri ve Güvenlik → Kodu Sadeleştirme sırasıyla ilerler.

Seviye

Orta Seviye — API programlamada desenler: yaratımsal, yapısal ve davranışsal desenler, istemci dayanıklılığı ve refactoring.

Öğrenme Metodu

Katılımcılar kod kokuları içeren bir API projesini desenlerle yeniden yapılandırır ve her adımda testlerin geçtiğini doğrular.

Neden Bu Eğitim?

🧠Desen Refleksi

Tekrarlayan API problemlerini görüp uygun deseni hızlıca seçebilirsiniz.

🧼Temiz Kod

Kod kokularını güvenle refactor ederek bakımı kolaylaştırırsınız.

🔁Sağlam İstemci

Retry, throttling ve devre kesiciyle API tüketimini dayanıklı kılarsınız.

Anahtar Konular

API programlama desenleripatterns in programmingStrategy Observer Factoryretry backoffCircuit Breakeridempotent receiverrefactoringkod kokularıAPI istemcikarakterizasyon testi
“Desen bilgisi, kodu yazmadan önce de okumaya yarar.”

Ö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ı Strategy, Observer, Factory, Template Method ve Chain of Responsibility desenlerini API kodunda kullanır, Facade, Adapter, DTO, Builder ve Repository desenlerini API katmanında uygular, Accept/Content-Type ile içerik pazarlığı yapar ve JSON ile XML serileştirmesini karşılaştırır ve GET, POST, PUT, PATCH ve DELETE metotlarını güvenlik ve idempotency açısından ayırı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
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 3
İçerik Pazarlığı, JSON ve XML Formatları
  • Accept ve Content-Type başlıkları, 406 Not Acceptable ve 415 Unsupported Media Type yanıtları
  • JSON veri tipleri, iç içe nesneler, null yönetimi ve tarih/saat için ISO 8601 biçimi
  • XML ad alanları, öznitelik-eleman ayrımı ve JSON ile XML arasında dönüşüm tuzakları
  • Jackson, Gson veya System.Text.Json gibi serileştiricilerde özel formatter yapılandırması
  • Accept-Language ve Accept-Encoding ile yerelleştirme ve gzip/brotli sıkıştırma
  • application/vnd.firma.v2+json gibi vendor media type ile sürüm yönetimi
Modül 4
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ı
Günün hedefiKatılımcı Retry, Circuit Breaker, Idempotent Receiver, Pagination Iterator ve Throttling desenlerini uygular, Circuit breaker, bulkhead, timeout ve retry desenleriyle hata yayılımını sınırlar, API kimlik doğrulama yöntemlerini, JWT yapısını ve OWASP API Top 10 risklerini ele alır ve Kaynak odaklı URI, sayfalama, filtreleme ve sürümleme kurallarını uygular.
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
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ı
Modül 3
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 4
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
Günün hedefiKatılımcı Kod kokularını tanır, Fowler refactoring kataloğundan güvenli dönüşümler uygular, Şişmiş controller'ları katmanlara ayırır, hata ve doğrulama mantığını merkezileştirir, Test olmayan API kodunu karakterizasyon ve onay (approval) testleriyle güvene alır ve OpenAPI 3 tanımı yazar, Swagger UI ve kod üreticilerle sözleşme öncelikli çalışır.
Modül 1
API Kodunda Kod Kokuları ve Refactoring Temelleri
  • Kod kokuları: Long Method, Large Class, Feature Envy, Primitive Obsession, Shotgun Surgery
  • Extract Method, Extract Class, Move Method, Inline ve Rename ile temel dönüşümler
  • Conditional'ı polimorfizme çevirme ve Replace Magic Number ile sabitler
  • IDE otomatik refactoring araçları (IntelliJ, VS Code) ve güvenli adım adım ilerleme
  • Teknik borç ölçümü: SonarQube, siklomatik karmaşıklık ve bilişsel karmaşıklık
  • Refactoring ile davranış değiştirmeyi ayırma: commit disiplini ve inceleme (code review) pratiği
Modül 2
Controller, Servis ve Hata Yönetimi Refactoring'i
  • Fat controller'dan servis katmanına iş mantığı taşıma ve ince controller ilkesi
  • Dağınık try/catch yerine merkezi hata işleyici (@ControllerAdvice, Express error middleware)
  • Girdi doğrulamayı Bean Validation / Zod / Joi şemalarına taşıma
  • Entity yerine DTO kullanımı, mapper ayrıştırması ve kırıcı olmayan API değişikliği
  • Dublikasyon temizliği: ortak istemci, sayfalama yardımcıları ve DRY ile fazla soyutlama dengesi
  • Geriye uyumluluk: deprecated uç nokta, sürümleme ve tüketicilere göç planı
Modül 3
Karakterizasyon Testleri ile Güvenli Refactoring
  • Eski kodda test dikişi (seam) bulma: bağımlılık enjeksiyonu ve arayüz çıkarma
  • Karakterizasyon (golden master) testi ile mevcut davranışı sabitleme
  • Approval testing (ApprovalTests, snapshot) ile yanıt gövdesi karşılaştırma
  • Mutation testing (PIT, Stryker) ile test kalitesini ölçme
  • REST Assured / Supertest ile uçtan uca regresyon ağı kurma
  • Strangler yaklaşımıyla riskli modüllerin yeni uygulamaya kademeli taşınması
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

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Programlama Desenleri

GoF desenlerini API kodundaki gerçek problemlere eşleyerek uygulayabilirsiniz.

🧩
İçerik Formatları

JSON ve XML temsillerini içerik pazarlığı ile aynı uç noktadan sunabilirsiniz.

🛠️
HTTP Metotları

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

🔐
Dayanıklılık

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

📈
API Güvenliği

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

🧪
Refactoring Temelleri

API kodundaki kod kokularını tanıyıp küçük ve güvenli adımlarla düzeltebilirsiniz.

🚀
API Refactoring

Şişmiş controller ve servis kodunu katmanlara ayırıp tutarlı hata yönetimine kavuşturabilirsiniz.

🔎
OpenAPI

OpenAPI 3 tanımı yazıp Swagger UI ve kod üretimiyle sözleşme öncelikli geliştirebilirsiniz.

Kimler İçin Uygundur?

  • API geliştiren veya tüketen yazılımcılar ile kod kalitesi
  • bakım kolaylığı
  • dayanıklılık konusunda ilerlemek isteyen orta seviye mühendisler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
API geliştiren veya tüketen yazılımcılar ile kod kalitesi, bakım kolaylığı ve dayanıklılık konusunda ilerlemek isteyen orta seviye mühendisler için uygundur.
"API Design Patterns" eğitimiyle farkı nedir?
Bu eğitim programlama desenlerine, istemci dayanıklılığı ve refactoring'e odaklanır; diğeri kaynak modeli ve sözleşme tasarımına odaklanır.
Test yazma zorunlu mu?
Refactoring bölümünde karakterizasyon testleri yazılır; temel birim testi bilgisi faydalıdır.
Hangi dil kullanılır?
Java ile örnek verilir; kavramlar dil bağımsızdı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: Patterns in API Programming 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 MimarisiAPI Testing: The Basics of Testing APIs with Postman Eğitimi
Yazılım Geliştirme Eğitimleri

API Testing: The Basics of Testing APIs with Postman Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

API testinin temelleri: HTTP semantiği, pm.test ve pm.expect assertion'ları, negatif senaryolar, değişkenler ve CSV ile veri güdümlü Postman testi eğitimi.

Detayları Gör →
API ve Mikroservis MimarisiAPI Testing: Working with Variables in Postman Eğitimi
Yazılım Geliştirme Eğitimleri

API Testing: Working with Variables in Postman Eğitimi

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

Postman global, collection, environment ve data değişken kapsamları, pm.variables API'si, token yönetimi, dinamik değişkenler ve mock ortam geçişi eğitimi.

Detayları Gör →
API ve Mikroservis MimarisiAPI Testleriyle Postman Eğitimi
Yazılım Geliştirme Eğitimleri

API Testleriyle Postman Eğitimi

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

Postman ile pm.test, JSON Schema, veri güdümlü test, mock server, sözleşme testi, GraphQL, Monitor ve Newman CI entegrasyonunu işleyen kapsamlı API test eğitimi

Detayları Gör →
API ve Mikroservis MimarisiAPI Öncelikli Tasarım Eğitimi
Yazılım Geliştirme Eğitimleri

API Öncelikli Tasarım Eğitimi

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

API-first süreç, OpenAPI 3 sözleşmesi, Spectral stil kuralları, mock sunucu, sözleşme testi ve sürümleme ile API öncelikli tasarım eğitimi.

Detayları Gör →
API ve Mikroservis MimarisiAPI'leri Apigee ile Yönetme Eğitimi
Yazılım Geliştirme Eğitimleri

API'leri Apigee ile Yönetme Eğitimi

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

Apigee Edge ve X proxy geliştirme, OAuthV2, Quota, SpikeArrest, API ürünleri, TargetServer, analitik ve Trace ile API yönetimi eğitimi.

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