Yazılım Mimarisinin Rehber Kitabı: SOLID, YAGNI, KISS, DRY ve Ötesi

Yazılım Prensipleri Uzmanlık Rehberi

BEGINNER Son güncellenme: Mar 2026
Türkçe
Ali Turgut Bozkurt
Eğitmen

Öğrenecekleriniz

Kurs Hakkında

🎓 Temiz Kod ve Yazılım Mimarlığı: Profesyonel Gelişim Kursu Bu eğitim serisi, kod yazmayı bilen bir geliştiriciden, sürdürülebilir sistemler inşa eden bir Yazılım Mimarına dönüşüm yolculuğunuzdur. 2026 yazılım dünyasının yüksek standartları baz alınarak hazırlanan bu rehber; sadece "çalışan" değil, aynı zamanda "yaşayan, esneyen ve ekip arkadaşlarınız tarafından sevilen" kodlar üretmenin anayasasını sunar. 🌟 Kursun Temel Amacı Yazılım projelerinin %80 maliyeti bakım (maintenance) aşamasında oluşur. Bu kursun ana hedefi, Teknik Borcu (Technical Debt) minimize ederek, projenin yaşam döngüsü boyunca geliştirme hızının düşmesini engellemek ve hata payını sıfıra yaklaştırmaktır. 📚 Müfredat Özeti (10 Modül) Kursumuz, basitten karmaşığa doğru ilerleyen 4 ana sütun üzerine inşa edilmiştir: 1. Temiz Kodun Temelleri (Modül 1 - 4) Okunabilirlik: Anlamlı isimlendirmeler ve yorum satırı tuzağından kurtulma. Fonksiyon Tasarımı: Küçük, tek iş yapan ve yan etkisi olmayan metotlar. Hata Yönetimi: Fail-Fast prensibi ve güvenli hata yakalama stratejileri. 2. SOLID Prensipleri ve Esnek Mimari (Modül 5 - 6) S.O.L.I.D: Nesne yönelimli tasarımın 5 altın kuralının Spring Boot ekosistemindeki derin yansımaları. Dependency Injection: Bağımlılıkların tersine çevrilmesi (DIP) ve IoC Container mantığı. 3. Tasarım Stratejileri ve Pragmatizm (Modül 7 - 8) YAGNI & KISS: Aşırı mühendislikten (Over-engineering) kaçınma sanatı. DRY vs. WET: Ne zaman kod tekrarı iyidir, ne zaman soyutlama (abstraction) yapılmalıdır? AOP (Aspect Oriented Programming): Loglama ve güvenlik gibi enine kesen ilgileri (Cross-cutting concerns) ayırma. 4. İleri Seviye Mimari ve Test Kültürü (Modül 9 - 10) TDD (Test Driven Development): Red-Green-Refactor döngüsüyle hatasız tasarım. Domain Driven Design (DDD): İş mantığını (Domain) merkeze alan Bounded Context ve Aggregate yapıları. Legacy Kod Yönetimi: Testi olmayan devasa projeleri adım adım iyileştirme teknikleri. 🛠️ Kimler İçin Uygundur? Junior Geltiriciler: Temellerini sağlam bir mimari vizyonla atmak isteyenler. Mid/Senior Geltiriciler: "Spagetti kod" yığınlarından kurtulup, kurumsal seviyede temiz mimariler (Hexagonal, Clean Architecture) kurmak isteyenler. Lead/Architect Adayları: Ekibine kod inceleme (Code Review) standartları getirmek ve teknik borcu yönetmek isteyen liderler. 💡 Kursun Kazanımları Bu eğitimi tamamladığınızda; Kodunuzu okuyan birinin zihninde soru işareti bırakmayacaksınız. Yeni bir özellik eklerken eski yerlerin bozulmasından korkmayacaksınız. Karmaşık iş problemlerini basit, modüler ve test edilebilir parçalara bölebileceksiniz. Java, Spring Boot ve modern araçları sadece birer araç olarak kullanıp, asıl gücünüzü "Tasarım Yeteneğinizden" alacaksınız. Sertifika ve Final: Kursun sonunda yer alan final case study ve değerlendirme sınavı ile uzmanlığınızı tescilleyebilir, öğrendiğiniz her şeyi gerçek dünya senaryolarında test edebilirsiniz. Hazırsanız, ilk modüle dönüp uzmanlık yolculuğunuza hemen başlayabiliriz!

Kurs Müfredatı

Temiz Kodun Psikolojisi: Neden İyi Kod Yazmalıyız?
Teknik Borç (Technical Debt) Yönetimi ve 2026 Trendleri
Kod Kokuları (Code Smells): Çürümeyi Başlamadan Durdurun
Yazılım Yaşam Döngüsünde Prensiplerin Rolü
Kodun Kaosla İmtihanı ve Mimari Temeller - Quiz

"Bu Sınıf Çok Şey Biliyor": Tanım ve Teşhis
Java ve Spring Boot ile Servis Katmanında Ayrıştırma
Mikroservislerde SRP Uygulamaları
Yaygın Hatalar: Sorumluluğu Atomik Parçalara Bölmek
Single Responsibility Principle (SRE) - Tek Sorumluluk - Quiz

Polimorfizmin Gücü: İf-Else Bloklarından Kurtulun
Spring Boot'ta Interface-Tabanlı Geliştirme Stratejileri
Template ve Strategy Pattern ile OCP Uygulaması
Mevcut Kodu Bozmadan Yeni Özellik Eklemek
Open/Closed Principle (OCP) - Değişime Kapalı, Gelişime Açık - Quiz

Kalıtımın Karanlık Yüzü: Kare-Dikdörtgen Problemi
Alt Sınıfın Üst Sınıfa Sadakati: Sözleşmeye Uygunluk
Java Generics ve LSP İlişkisi
Beklenmedik Davranışları Engellemek İçin Unit Test Yaklaşımları
Liskov Substitution Principle (LSP) - Yerine Geçebilme - Quiz

Şişkin Arayüzler (Fat Interfaces) ve Yarattığı Bağımlılıklar
İhtiyaç Odaklı Interface Tasarımı
Default Methods (Java 8+) ve ISP Dengesi
İstemciyi Kullanmadığı Metotlara Zorlamamak
Interface Segregation Principle (ISP) - Arayüz Ayrımı - Quiz

Soyutlamaya Yaslanmak: Beton Sınıflardan Uzaklaşmak
Spring IoC (Inversion of Control) ve Dependency Injection Derinlemesine
Katmanlar Arası Bağımlılık Yönetimi (Hexagonal Architecture Giriş)
Bean Konfigürasyonları ve Esnek Altyapı Kurulumu
Dependency Inversion Principle (DIP) - Bağımlılıkların Tersine Çevrilmesi - Quiz

YAGNI: "Buna İhtiyacın Olmayacak" (Over-Engineering ile Savaş)
KISS: "Basit Tut, Aptal!" (Karmaşıklığı Basitliğe İndirgemek)
Geleceği Tahmin Etmek vs. Bugünü Çözmek
Kod İncelemelerinde (Code Review) Pragmatizm
Pragmatik Geliştirme: YAGNI ve KISS - Quiz

DRY (Don't Repeat Yourself): Mantıksal vs. Metinsel Tekrar
Kod Soyutlama ve Yeniden Kullanılabilirlik (Reusability)
WET (Write Everything Twice): Ne Zaman Kod Tekrarı İyidir?
Spring Aspect Oriented Programming (AOP) ile DRY Uygulamaları
Tekrarın Maliyeti: DRY ve Minimalizm - Quiz

Law of Demeter: Yabancılarla Konuşma (Encapsulation Derinliği)
Separation of Concerns (SoC): İlgi Alanlarının Ayrıştırılması
Composition over Inheritance: Neden Kompozisyon Tercih Edilmeli?
Fail-Fast ve Savunmacı Programlama (Defensive Programming)
Diğer Kritik Prensipler ve Modern Yaklaşımlar - Quiz

Legacy Kodda Prensipleri Uygulama Stratejileri
TDD (Test Driven Development) ile Prensip Uyumluluğu
Domain Driven Design (DDD) ve Yazılım Prensipleri Kesişimi
Uzmanlık Yolculuğu: Mimari Bir Vizyon Oluşturmak
Kurumsal Mimari ve Refactoring Kültürü - Quiz

Kurs Final Sınavı

Topluluk Tartışmaları

Tümünü Gör
0
Soru
0
Cevaplanmış
0%
Cevap Oranı

Henüz tartışma başlatılmamış.

İlk Soruyu Sor

Öğrenci Değerlendirmeleri

Değerlendir

Henüz değerlendirme yapılmamış. İlk değerlendiren siz olun!