INHERITANCE, INTERFACES, & DEPLOYMENT EĞİTİMİ

Kalıtım ve arayüzleri doğru kullanın

Kalıtım, soyut sınıflar, interface tasarımı, polimorfizm, SOLID ilkeleri ve uygulamanın paketlenip dağıtılması

Eğitim, nesne yönelimli programlamada kalıtım ve arayüz kullanımını tasarım kararlarıyla birlikte işler. Temel programlamayı bilen yazılımcılar, mezun adayları ve nesne yönelimli tasarımını güçlendirmek isteyen geliştiriciler içindir.

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

Eğitim Hakkında

Nesne yönelimli tasarım ilkeleri ve dağıtım pratiği

Eğitim, nesne yönelimli programlamada kalıtım ve arayüz kullanımını tasarım kararlarıyla birlikte işler. Is-a ve has-a ilişkisi, soyut sınıf ile interface farkı, polimorfizm, method override, Liskov ilkesi, composition over inheritance, generic arayüzler ve default method konularının ardından uygulamanın JAR paketi, bağımlılık yönetimi ve Docker ile dağıtımı uygulanır.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün Kalıtım ve Polimorfizm; 2. gün Arayüzler ve SOLID; 3. gün Paketleme ve Dağıtım.

Seviye

Orta Seviye — Nesne yönelimli tasarımda kalıtım, arayüzler ve uygulamayı paketleyip dağıtma

Öğrenme Metodu

Katılımcılar Java üzerinde küçük bir domain modeli geliştirir, tasarımı refactor eder, birim testleriyle doğrular ve uygulamayı paketleyip çalıştırır.

Neden Bu Eğitim?

🎯Doğru Tasarım

Kalıtım mı arayüz mü sorusuna gerekçeli cevap verebilen sağlam sınıf hiyerarşileri kurarsınız.

🧪Test Edilebilirlik

Arayüz tabanlı tasarımla bağımlılıkları taklit edip birim testi yazarsınız.

⚙️Dağıtım Pratiği

Uygulamayı JAR ve konteyner olarak paketleyip çalıştırırsınız.

Anahtar Konular

kalıtım ve interface eğitiminesne yönelimli programlamaJava inheritancepolimorfizmSOLID ilkeleriJava interfaceMaven paketlemeDocker dağıtımıcomposition over inheritanceuygulama dağıtımı
“İyi tasarım, değişikliği ucuz hale getiren tasarımdır.”

Ön Koşullar

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

1
Java Temeli

Sınıf, nesne, metot ve paket kavramları bilinmelidir.

2
IDE Kullanımı

IntelliJ IDEA veya Eclipse ile proje açıp çalıştırabilmek gerekir.

3
Komut Satırı

Temel terminal komutlarına aşinalık beklenir.

4
Maven/Gradle

Yapı aracı bilgisi gerekmez, eğitimde temel kullanımı gösterilir.

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ı kalıtım ilişkilerini doğru kurar ve polimorfizmi uygular.
Modül 1
Kalıtım Temelleri
  • extends, super() ve constructor zinciri
  • protected erişim ve kapsülleme dengesi
  • Method override ve @Override notasyonu
  • final sınıf ve metotlar
  • Object sınıfı: equals, hashCode, toString
  • Is-a ilişkisinin doğru sınanması
Modül 2
Soyut Sınıflar
  • abstract sınıf ve soyut metot
  • Template Method deseni
  • Ortak durum ve davranışın taşınması
  • Soyut sınıfın örneklenememesi
  • Alt sınıf zorunlulukları
  • Soyut sınıf ne zaman seçilir
Modül 3
Polimorfizm
  • Üst tip referansla alt tip nesne
  • Dinamik metot bağlama
  • instanceof ve pattern matching
  • Koleksiyonlarda polimorfik kullanım
  • Covariant dönüş tipi
  • Polimorfizmle if-else zincirini kaldırma
Modül 4
Kalıtımın Tuzakları
  • Kırılgan taban sınıf problemi
  • Derin hiyerarşilerin bakım maliyeti
  • Liskov Yerine Geçme İlkesi ihlalleri
  • Composition over inheritance
  • Delegasyon ile davranış paylaşımı
  • Kalıtımdan kompozisyona refactor
Günün hedefiKatılımcı arayüz tabanlı gevşek bağlı tasarım yapar.
Modül 1
Interface Tasarımı
  • interface ve implements
  • default ve static metotlar
  • Çoklu arayüz uygulaması
  • Functional interface ve lambda
  • Marker interface ve annotation
  • Arayüz ayrımı ilkesi (ISP)
Modül 2
Generic Arayüzler
  • Comparable<T> ve Comparator<T>
  • Repository<T, ID> deseni
  • Bounded type parametreleri
  • Wildcard: ? extends, ? super
  • Type erasure etkileri
  • Özel generic arayüz yazımı
Modül 3
Bağımlılık Yönetimi
  • Dependency Inversion ilkesi
  • Constructor injection
  • Strategy deseni
  • Factory ile nesne üretimi
  • Mock ile birim testi (Mockito)
  • Sahte uygulama (stub) yazımı
Modül 4
Refactoring Atölyesi
  • Kokulu kod (code smell) tespiti
  • Extract Interface ve Extract Superclass
  • SOLID ihlali bulma
  • JUnit 5 ile güvenlik ağı
  • IDE refactoring araçları
  • Kod gözden geçirme listesi
Günün hedefiKatılımcı uygulamayı paketler ve farklı ortamlarda çalıştırır.
Modül 1
Derleme ve Paketleme
  • Maven yapısı ve pom.xml
  • Bağımlılık kapsamları (compile, test, runtime)
  • mvn package ile JAR üretimi
  • Executable JAR ve MANIFEST
  • Fat JAR ve shade eklentisi
  • Sürüm numaralandırma (SemVer)
Modül 2
Yapılandırma Yönetimi
  • application.properties ve ortam değişkenleri
  • Profil bazlı yapılandırma
  • Gizli bilgilerin kod dışında tutulması
  • Logging: SLF4J ve Logback
  • Yapılandırma sınıflarının arayüzle soyutlanması
  • Ortam farkı hataları
Modül 3
Docker ile Dağıtım
  • Çok aşamalı Dockerfile
  • Temel JRE imajı seçimi
  • Konteyner portu ve volume
  • docker run ve ortam değişkenleri
  • Imaj boyutunu küçültme
  • Registry'e gönderme
Modül 4
Dağıtım Sonrası
  • Sağlık kontrolü ve log izleme
  • Sürüm yükseltme ve geri alma
  • Basit CI pipeline: derle, test, paketle
  • Bağımlılık güvenlik taraması
  • Dokümantasyon ve sürüm notu
  • Kontrol listesi ile yayına alma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Kalıtım Kurma

Is-a ilişkisine dayalı doğru sınıf hiyerarşileri tasarlayabilirsiniz.

🛠️
Soyut Sınıf Seçimi

Soyut sınıf ve interface arasında gerekçeli seçim yapabilirsiniz.

📈
Polimorfizm

Polimorfizmle koşul zincirlerini sadeleştirebilirsiniz.

🔍
Liskov İlkesi

Alt tiplerin üst tipin yerine güvenle geçebildiğini doğrulayabilirsiniz.

🧩
Interface Tasarımı

Küçük ve odaklı arayüzler yazabilirsiniz.

🚀
Test Edilebilirlik

Bağımlılıkları enjekte edip Mockito ile birim testi yazabilirsiniz.

🔒
Paketleme

Maven ile çalıştırılabilir JAR üretebilirsiniz.

📊
Konteyner Dağıtımı

Uygulamayı Docker imajı olarak paketleyip çalıştırabilirsiniz.

Kimler İçin Uygundur?

  • Temel programlamayı bilen yazılımcılar
  • mezun adayları
  • nesne yönelimli tasarımını güçlendirmek isteyen geliştiriciler içindir

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Temel programlamayı bilen yazılımcılar, mezun adayları ve nesne yönelimli tasarımını güçlendirmek isteyen geliştiriciler içindir.
Eğitim yalnızca Java mı?
Örnekler Java iledir; kavramlar C# ve Kotlin gibi dillere de aktarılabilir.
SOLID konusu ne kadar işlenir?
Liskov, Interface Segregation ve Dependency Inversion kod örnekleriyle işlenir.
Dağıtım kısmında neler var?
Maven ile JAR üretimi, yapılandırma ve Docker imajı oluşturma uygulanır.
Belge verilir mi?
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. Inheritance, Interfaces, & Deployment 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

Yazılım Geliştirme GenelCSSLP Training and Certification Eğitimi
Yazılım Geliştirme Eğitimleri

CSSLP Training and Certification Eğitimi

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

CSSLP eğitimi ve sınav hazırlığı: sekiz alan, tehdit modelleme, OWASP Top 10, SAST/DAST, güvenli SDLC modelleri ve tedarik zinciri güvenliği. 3 gün uzman düzeyi

Detayları Gör →
Yazılım Geliştirme GenelCVP Development and Scripting Part 1 (CVPDS Part 1) Eğitimi
Yazılım Geliştirme Eğitimleri

CVP Development and Scripting Part 1 (CVPDS Part 1) Eğitimi

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

CVP Development and Scripting Part 1 eğitimi: Cisco CVP mimarisi, Call Studio, VXML elemanları, Decision, Database ve ICM entegrasyonuyla IVR geliştirme.

Detayları Gör →
Yazılım Geliştirme GenelCVP Development and Scripting Part 2 (CVPDS Part 2) Eğitimi
Yazılım Geliştirme Eğitimleri

CVP Development and Scripting Part 2 (CVPDS Part 2) Eğitimi

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

CVP Development and Scripting Part 2 eğitimi: Java ile özel Action/Decision/Voice Element, web servis ve JDBC entegrasyonu, performans ayarı ve üretim sorun gid

Detayları Gör →
Yazılım Geliştirme GenelDecision Making for Software Project Managers Eğitimi
Yazılım Geliştirme Eğitimleri

Decision Making for Software Project Managers Eğitimi

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

Yazılım proje yöneticileri için karar verme: bilişsel yanlılıklar, risk, karar ağacı, WSJF/RICE önceliklendirme, build-vs-buy ve ekip karar süreçleri.

Detayları Gör →
Yazılım Geliştirme GenelDefendable Code and Errors Eğitimi
Yazılım Geliştirme Eğitimleri

Defendable Code and Errors Eğitimi

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

İstisna yönetimi, güvenli hata mesajı, loglama ve fail-secure ilkeleriyle savunulabilir kod yazmayı uygulamalı laboratuvarlarla öğrenin.

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