CLEAN ARCHITECTURE AND CODE (JAVA SE, SPRING BOOT) EĞİTİMİ

Java'da temiz kod ve sürdürülebilir mimari kurun

SOLID, refactoring, hexagonal mimari, DDD ve Spring Boot ile bağımlılık kuralına uyan uygulamalar.

SOLID, refactoring, hexagonal mimari, DDD taktikleri ve Spring Boot ile temiz kod ve mimari uygulayan 3 günlük ileri Java eğitimi.

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

Eğitim Hakkında

Temiz kod ve temiz mimari: Java SE ve Spring Boot

Bu eğitim, Robert C. Martin'in clean code ve clean architecture ilkelerini Java ve Spring Boot'ta uygular: isimlendirme, küçük fonksiyon ve kod kokuları, SOLID, refactoring teknikleri, bağımlılık kuralı, use case, ports and adapters, çok modüllü Maven yapısı, MapStruct ile eşleme, DDD aggregate ve value object, domain event, outbox, ArchUnit ve eski kodu strangler ile taşıma.

Süre ve Format

3 Gün. Her gün dört modül; Temiz Kod, SOLID ve Refactoring; Clean/Hexagonal Mimari ve DDD; Kalıcılık, Test ve Proje ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — temiz kod, SOLID, clean/hexagonal mimari, DDD taktikleri ve Spring Boot ile uygulama

Öğrenme Metodu

Her ilke önce kötü bir örnekte gösterilir, ardından refactoring ve ArchUnit testiyle düzeltilir; son gün eski uygulama hexagonal mimariye taşınır.

Neden Bu Eğitim?

🧹Okunabilir kod

İsimlendirme ve küçük fonksiyonlarla ekip içinde kolay anlaşılır kod yazarsınız.

🏛️Bağımlılık yönetimi

Çerçeveden bağımsız domain katmanı kurarsınız.

♻️Güvenle refactor

Test ağıyla eski kodu adım adım dönüştürürsünüz.

Anahtar Konular

clean architecture Javaclean codeSOLIDhexagonal mimariDDD JavaSpring Boot mimariArchUnitrefactoringports and adaptersJava temiz kod
“Mimari, kararları geciktirebilme becerisidir.”

Ön Koşullar

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

1
Java bilgisi

Sınıf, interface, koleksiyon ve istisna kavramlarına temel hakimiyet.

2
Komut satırı

Terminal ve temel Linux/Windows komutları.

3
Geliştirme ortamı

JDK 17+ ve IntelliJ IDEA veya Eclipse kurulu bir bilgisayar.

4
Maven/Git

Maven ile derleme ve temel git bilgisi.

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ı kod kokularını bulur, SOLID ve refactoring teknikleriyle düzeltir.
Modül 1
Temiz Kod İlkeleri
  • Anlamlı isimlendirme ve niyeti açık eden kod
  • Küçük fonksiyon, tek iş ve parametre sayısı
  • Yorum yerine ifade; ölü kod ve yorum kokuları
  • Kod kokuları (code smells) ve Fowler refactoring katalogu
  • Hata yönetimi: checked/unchecked ve null döndürmeme
  • Biçimlendirme, EditorConfig, Checkstyle ve SonarQube kuralları
Modül 2
SOLID ve Tasarım İlkeleri
  • Single Responsibility: sınıfın değişme nedeni analizi
  • Open/Closed: strateji ve polimorfizm ile genişleme
  • Liskov Substitution ihlalleri ve sözleşmeyle tasarım
  • Interface Segregation: küçük ve role odaklı arayüzler
  • Dependency Inversion: soyutlamaya bağımlılık, constructor injection
  • Kompozisyonun kalıtıma tercihi ve Law of Demeter
Modül 3
Refactoring Atölyesi
  • Extract Method / Inline / Rename ile IDE refactor araçları
  • Parametre nesnesi ve Replace Magic Number
  • Replace Conditional with Polymorphism
  • Karmaşık sınıfları bölme: Extract Class ve Move Method
  • Bağımlılıkları kırma: seam, arayüz çıkarma
  • Refactoring sırasında test ağı ve küçük commit disiplini
Modül 4
Sınıf ve Arayüz Tasarımı
  • Erişilebilirliği en aza indirme ve public alan yerine erişimci
  • Değişmez (immutable) sınıf yazım kuralları
  • Kalıtım yerine kompozisyon; kırılgan taban sınıf sorunu
  • Miras için tasarla ya da yasakla: final ve belgeleme
  • Soyut sınıf yerine arayüz ve default metotlar
  • İç içe sınıf türleri: statik, üye, anonim ve yerel sınıf seçimi
Günün hedefiKatılımcı bağımlılık kuralına uyan çok modüllü Spring Boot yapısı kurar, DDD taktiklerini ve sınır modellerini uygular.
Modül 1
Clean ve Hexagonal Mimari
  • Bağımlılık kuralı: iç katmanın dış katmanı bilmemesi
  • Entity, use case (interactor), gateway ve controller katmanları
  • Ports and Adapters (hexagonal) yapısı; inbound/outbound port
  • Package by feature ile package by layer karşılaştırması
  • ArchUnit ile mimari kuralların testle zorlanması
  • Çerçeveden bağımsız domain: Spring bağımlılığını kenara itmek
Modül 2
Spring Boot ile Temiz Uygulama Kurgusu
  • Çok modüllü Maven/Gradle yapısı: domain, application, adapter, bootstrap
  • Constructor injection ve @Configuration ile bean kablolaması
  • DTO, domain modeli ve MapStruct ile eşleme
  • @RestControllerAdvice ve ProblemDetail ile tutarlı hata gövdesi
  • JPA adapter'ı: domain nesnesi ile entity ayrımı
  • Olay yayınlama: ApplicationEventPublisher ve outbox yaklaşımı
Modül 3
Domain-Driven Design Taktikleri
  • Ubiquitous language ve bounded context sınırları
  • Aggregate, aggregate root ve tutarlılık sınırı
  • Value object ve entity ayrımı; değişmezlik
  • Repository, domain service ve factory rolleri
  • Domain event ve olay tabanlı iletişim
  • Anemik domain modelinden zengin domain modeline geçiş
Modül 4
Sınırlar, Doğrulama ve Hata Modelleri
  • Katman sınırında DTO ve eşleme (MapStruct)
  • Anti-corruption layer ile dış sistemi izole etme
  • Doğrulama katmanları: sözdizimsel, anlamsal ve iş kuralı
  • Result/Either tipiyle beklenen hataları modelleme
  • API sözleşmesi ve sürümleme
  • Hata sınıflandırması ve kullanıcıya dönük mesaj tasarımı
Günün hedefiKatılımcı test stratejisi kurar, olay tabanlı tasarımı uygular ve eski uygulamayı hexagonal mimariye taşır.
Modül 1
Test Stratejisi ve Eski Kodu İyileştirme
  • Test piramidi: birim, entegrasyon, sözleşme (Pact) ve uçtan uca
  • TDD ve test okunabilirliği (Given-When-Then)
  • Characterization test ile eski koda güvenlik ağı
  • Strangler fig ve küçük adımlı refactoring
  • PIT ile mutasyon testi
  • Teknik borç yönetimi ve kod inceleme kontrol listesi
Modül 2
Olay Tabanlı Tasarım ve Kalıcılık
  • Transaction sınırı ve use case içinde tutarlılık
  • Domain event, outbox ve güvenilir yayınlama
  • CQRS'e giriş: okuma ve yazma modeli ayrımı
  • JPA'nın domain modelini kirletmesini önleme
  • Idempotent tüketici ve tekrar oynatma
  • Eventual consistency ve telafi mantığı
Modül 3
Proje: Eski Uygulamayı Hexagonal Mimariye Taşıma
  • Mevcut katmanlı uygulamanın bağımlılık analizi
  • Yeni port/adapter iskeletinin kurulması
  • Use case'lerin domain'e taşınması
  • ArchUnit kuralları ile mimarinin korunması
  • Adım adım strangler yaklaşımıyla geçiş
  • Sonuç değerlendirme ve ekip standartları
Modül 4
Spring Test Yaklaşımı
  • @SpringBootTest ve test dilimleri (@WebMvcTest, @DataJpaTest)
  • MockMvc ile controller testi
  • @MockBean/@MockitoBean ile bağımlılık taklidi
  • Testcontainers ile gerçek veritabanı testi
  • Test profilleri ve @DynamicPropertySource
  • Spring Security testleri: @WithMockUser

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Temiz kod

İsimlendirme ve küçük fonksiyonlarla okunabilir kod yazabilirsiniz.

🎯
SOLID

SOLID ilkelerini kodda uygulayıp ihlalleri bulabilirsiniz.

🧩
Refactoring

Extract/Replace tekniklerini güvenle kullanabilirsiniz.

🛠️
Hexagonal mimari

Port ve adapter yapısını kurabilirsiniz.

🔍
DDD taktikleri

Aggregate ve value object tasarlayabilirsiniz.

🚀
Spring Boot kurgusu

Çok modüllü Boot projesi kurabilirsiniz.

📈
Mimari testi

ArchUnit ile bağımlılık kurallarını denetleyebilirsiniz.

🧪
Eski koda yaklaşım

Strangler yaklaşımıyla kademeli geçiş planlayabilirsiniz.

Kimler İçin Uygundur?

  • Java ve Spring Boot ile çalışan geliştiriciler
  • tech lead'ler
  • mimarlar için uygundur; eski kod tabanını iyileştirmek isteyen ekiplere özellikle faydalıdır

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ve Spring Boot ile çalışan geliştiriciler, tech lead'ler ve mimarlar için uygundur; eski kod tabanını iyileştirmek isteyen ekiplere özellikle faydalıdır.
Spring Boot bilmem gerekir mi?
Temel Spring Boot kullanımı beklenir, ancak mimari odak çerçeveden bağımsız domain'dir.
Gerçek eski kod üzerinde çalışılır mı?
Evet; katılımcılar eğitmenin hazırladığı katmanlı bir uygulamayı hexagonal mimariye taşır.
DDD ne kadar derin?
Taktik DDD (aggregate, value object, event) işlenir; stratejik DDD'ye giriş yapılır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Clean Architecture and Code (Java SE, Spring Boot) Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn