KURUMSAL EĞİTİM, SIFIRDAN ZİRVEYE DOMAİN DRİVEN DESİGN
Yazılımda teknik mükemmellik yeterli değildir. Karmaşık iş kurallarını (Domain) saf bir şekilde kodlamak ve "Büyük Çamur Yığını" (Big Ball of Mud) tuzağından kaçmak için Stratejik Tasarım prensiplerini, Bounded Context sınırlarını ve Event-Driven mimarileri birleştirerek yazılımı yaşayan bir iş modeline dönüştürün.
Eğitim Tanıtım Videosu
Domain-Driven Design felsefesini, Bounded Context izolasyonunu, Aggregate yapılarını ve Event Storming yöntemlerini detaylarıyla videomuzdan öğrenin.
Big Ball of Mud Sendromu
Sınırları belli olmayan, iş mantığının veritabanı sorgularına ve UI katmanına karıştığı monolitik karmaşalardan (Spaghetti Architecture) kökten kurtulun.
EĞİTİM SÜRESİ, FORMATLARI VE KURUM ODAKLI YAKLAŞIM
Eğitim programlarımız, kurumunuzun hedefleri, ekip olgunluğu ve proje ihtiyaçlarına göre farklı yoğunluk seviyelerinde esnek olarak tasarlanmaktadır. Aşağıdaki formatlardan ihtiyacınıza en uygun olanı seçebilir veya tamamen özelleştirilmiş bir program talep edebilirsiniz.
- 1 Gün: Stratejik Farkındalık Semineri
- 5 Gün: Standart Teknik Eğitim Programı
- 10 Gün: Yoğun Uygulamalı (Hands-on) Eğitim
- 15-20 Gün: İleri Seviye Workshop & Proje Geliştirme Programı
- Ders Süresi: 50 dakika
- Eğitim Saatleri: 10:00 - 17:00 (İhtiyaca göre özelleştirilebilir)
Eğitimler, öğrenme verimliliğini artıracak şekilde yapılandırılmıştır. Her oturum 50 dakika eğitim + 10 dakika mola şeklinde planlanır. Gün içerisinde 12:00 - 13:00 saatleri arasında öğle arası verilir. Bu yapı ile katılımcılar, günlük ortalama 6 saat odaklı eğitim alır. Örneğin 5 günlük bir program toplamda 30 saatlik yoğun bir öğrenme deneyimi sunar.
- 1 Günlük Seminer:
Karar vericiler ve teknik ekipler için tasarlanmış bu formatta, ilgili teknolojinin temel prensipleri, sektörel etkileri ve kuruma sağlayacağı stratejik katkılar ele alınır. Amaç; farkındalık oluşturmak ve doğru yatırım kararlarını desteklemektir.- 5 Günlük Standart Program:
Konular sistematik bir şekilde ele alınır, teorik altyapı güçlü şekilde oluşturulur ve gerçek dünya senaryoları ile desteklenir. Katılımcılar; mimari yaklaşımlar, araçlar, kod yapıları ve uygulama örnekleri ile kapsamlı bir bilgi seviyesine ulaşır.- 10 Günlük Yoğun Hands-on Program:
Uygulama odaklı bu programda katılımcılar aktif olarak kod yazar, sistem kurar ve senaryolar geliştirir. Gerçek projelere yakın simülasyonlar ile öğrenme pekiştirilir. Özellikle yeni ekip kuran veya mevcut ekibini hızla yetkinleştirmek isteyen kurumlar için idealdir.- 15-20 Günlük İleri Seviye Workshop:
Katılımcılar yalnızca öğrenmez, aynı zamanda üretir. Eğitmen rehberliğinde gerçek bir sistem veya mimari geliştirilir. Ödevler, teknik değerlendirmeler ve yoğun workshop’lar ile ekiplerin ilgili teknolojiye tam hakimiyeti sağlanır. Özellikle organizasyon içinde yeni bir teknoloji dönüşümü planlayan kurumlar için önerilir.
Eğitimlerimiz uzaktan, müşteri lokasyonunda veya hibrit formatta gerçekleştirilebilir. Katılımcılar online platformlar (Microsoft Teams veya Zoom) üzerinden erişim sağlayabilir; eğitim süresince ekran paylaşımı, canlı kodlama, interaktif soru-cevap ve iş birliği araçları aktif olarak kullanılır.
Kurum ve Katılımcı Odaklı Eğitim Yaklaşımı
Her eğitim programı, standart bir içerik sunumu değil; doğrudan kurumun hedeflerine, ekip yapısına ve mevcut olgunluk seviyesine göre tasarlanan özelleştirilmiş bir öğrenme deneyimidir. Bu yaklaşım, eğitimin yalnızca bilgi aktarımı değil, ölçülebilir çıktı üretmesi amacıyla kurgulanır.
Katılımcı Profiline Göre İçerik Kurgulama
-
Yeni işe alınmış ekipler:
- Amaç: Projelere hızlı adaptasyon
- İçerik: Temel kavramlar + kurum teknolojilerine hızlı geçiş
- Odak: Hands-on uygulamalar ve gerçek proje senaryoları
-
Teknik ekipler (Developer / Senior Developer):
- Amaç: Teknik derinlik ve üretkenlik artışı
- İçerik: Best practice, kod kalitesi, performans
- Odak: Uygulamalı geliştirme ve refactoring
-
Teknik mimar ekipler:
- Amaç: Doğru mimari ile teknoloji konumlandırma
- İçerik: Sistem tasarımı, scalability, distributed architecture
- Odak: Mimari kararlar ve gerçek dünya senaryoları
-
Yönetim ve karar verici katman:
- Amaç: Teknolojinin iş hedefleri ile hizalanması
- İçerik: Strateji, ROI, risk yönetimi
- Format: Seminer / Executive briefing
Sonuç
- Hemen uygulanabilir bilgi sağlanır
- Ekiplerin adaptasyon süresi kısaltılır
- Teknik ve yönetsel hizalanma oluşturulur
İş Mantığı ile Kodun Kusursuz Dansı
Domain-Driven Design (DDD), yazılımı salt bir kodlama faaliyeti olmaktan çıkarıp iş birimleri ile teknik ekibin "Ortak Dil" (Ubiquitous Language) üzerinden anlaştığı yaşayan bir modele çevirir. Teknik ekiplerin iş kurallarını merkezde, teknoloji altyapısını ise sadece birer "eklenti" olarak dış çemberde tutmasını sağlayan en olgun mimari disiplindir.
Bounded Context
Her mikroservisin mantıksal sınırını çizerek, farklı departmanların (Örn: Satış ve Lojistik) aynı nesneye yüklediği farklı anlamları sistem içinde izole edin.
Event-Driven & CQRS
İş dünyasındaki her kritik anı (Domain Events) merkezi Event Store'larda saklayarak yüksek ölçekli ve tutarlı (Consistency) mimariler kurun.
Eğitim Hedefi
Katılımcıları karmaşık iş dünyasını teknolojiyle buluşturan, sadece framework'lere bağımlı kod yazan değil; Hexagonal mimari, CQRS ve Aggregate Root kavramlarıyla sistemlerin teknik anayasasını yazan gerçek "Mimar" seviyesine ulaştırmak temel hedefimizdir.
Eğitim sonunda katılımcılar; İş alanını (Domain) Core, Supporting ve Generic olarak ayırabilir, "Ubiquitous Language" ile tüm ekipleri ortak paydada buluşturabilir. "Event Storming" çalıştaylarını yöneterek sistem anatomisini beyaz tahtadan kodlara taşıyabilir. "Value Objects" ile "primitive obsession" (ilkel saplantısı) hatalarını giderir. "Aggregate" sınırlarını çizerek veri tutarlılığını sağlar. Hexagonal (Ports & Adapters) mimariyi uygulayarak iş mantığını dış bağımlılıklardan (Veritabanı, API) izole eder; CQRS ve Domain Events ile genişleyebilir (loosely coupled) dev kurumsal sistemlerin temelini atabilirler.
Eğitim İçeriği
Stratejik Tasarım & Dil Birliği
- The Domain: Core (Ana rekabet), Supporting ve Generic Domain ayrımı.
- Ubiquitous Language: İş birimi ile teknik ekip arasındaki çeviri maliyetini sıfırlama.
- Bounded Context: Modelin geçerli olduğu mantıksal ve fiziksel sınırların çizimi.
Context Mapping (Entegrasyon)
- İlişki Modelleri: Shared Kernel, Partnership, Customer/Supplier.
- ACL (Anti-Corruption): Dış sistemlerin karmaşasından mevcut temiz modeli koruma katmanı.
- Published Language: Takımlar arası açık standartlaşmış veri arayüzleri.
Taktiksel Desenler I
- Entities: Kimlikleri (ID) zamanla değişmeyen ve bir yasam döngüsü olan nesneler.
- Value Objects: ID'si olmayan, değeriyle var olan (Immutable) anlamlı tipler.
- Domain Services: Belirli bir nesneye ait olmayan, saf iş kurallarının barındığı servisler.
Taktiksel Desenler II: Aggregates
- The Aggregate Pattern: Veri bütünlüğünü koruyan sınır nesneleri.
- Aggregate Root: İç hiyerarşiyi yöneten, dışarıya açılan tek kapı.
- ID by Reference: Mikroservislerde Agregalar arası ilişkilerin sadece ID ile yönetilmesi.
Domain Events (Olaylar)
- Something Happened: Sistemde geçmişte gerçekleşen iş kararlarının kodlanması.
- Decoupling (Bağ Gevşetme): Modüller arası direkt çağrılar yerine Pub/Sub modeli kurma.
- Event Store: Tüm değişiklik geçmişinin bir Audit Log gibi saklanması ve işlenmesi.
Hexagonal & Clean Architecture
- Ports & Adapters: İş mantığını merkeze alıp altyapıyı "Plug-in" (Eklenti) yapma felsefesi.
- Dependency Inversion: Veritabanı ve UI bağımlılıklarını merkezden dışarı itme.
- Persistence Ignorance: ORM, EF Core veya SQL bağımsız saf POCO nesneler tasarlama.
CQRS Mimarisi
- Write vs Read: Komut (Command) işlemleri ile Sorgu (Query) operasyonlarını kesin ayrıştırma.
- Projections (Görünümler): Raporlama ekranları için optimize edilmiş, NoSQL destekli anlık okuma modelleri.
- Eventual Consistency: Dağıtık yapılarda veri tutarlılığını gecikmeli (asenkron) yönetme stratejisi.
Repository & Unit of Work
- Repository Pattern: Veritabanı tablolarına değil, "Aggregate Root" nesnelerine odaklı veri yönetimi.
- Specifications: Veri sorgulama kurallarını test edilebilir iş nesnelerine çevirme.
- Mapping: Veritabanı modelleriyle Domain modellerini ayırıp N+1 problemlerini çözme.
Event Storming Çalıştayı
- Domain Keşfi: Teknik ekip ve iş birimleriyle post-it (yapışkanlı kağıt) kullanarak iş akışı çizimi.
- Pivotal Events: Sistemdeki durum geçişlerini ve kritik tetikleyicileri (Commands) tespit etme.
- Hotspots & Gaps: Tasarım esnasındaki eksik süreçlerin veya anlaşmazlık noktalarının görünür olması.
Modellerin Doğrulanması (Test)
- Domain Testing: Veritabanı ve Network'e ihtiyaç duymadan "Saf İş Mantığı"nın anında test edilmesi.
- Invariant Testing: İş kurallarının hatalı verilerle kırılmadığını BDD testleriyle garanti altına alma.
- Anemic vs Rich Model: Sadece Getter/Setter barındıran Anemik modellerden, davranış sergileyen Zengin modellere geçiş pratikleri.
Eğitim Metodolojimiz
- Live Event Storming: Sınıf ortamında fiziksel/dijital panolarda gerçek bir iş senaryosunun (örn: E-Ticaret Lojistik süreci) uçtan uca Event Storming ile modellenmesi.
- Refactoring to DDD: Anemik (Data-Driven) bir modelle kodlanmış projenin canlı olarak Hexagonal mimari ve Rich Domain yapılarına çevrilmesi.
- Architecture Review (Mimari Denetim): Katılımcıların çalıştığı kurumsal projelerdeki mikroservis sınırlarının (Bounded Contexts) tartışılması ve yeniden dizaynı.
- Pattern Battle (Tasarım Tartışmaları): Hangi senaryoda CQRS'e geçiş yapılmalı, ne zaman CRUD yeterlidir sorusunun uygulamalı analiz ve oylama seansları.
Hedef Kitle
Yazılım Mimarları ve Teknik Liderler
Mikroservis sistemlerin sınırlarını (Context) doğru planlayıp, kurumsal sistemlerde karmaşıklığı yöneten profesyoneller.
Kıdemli Yazılım Geliştiriciler (Senior)
Teknoloji bağımlılığından kurtulup, iş odaklı modelleme (Rich Domain) ve CQRS kodlayarak "Mimar" mertebesine yürüyenler.
Ürün Sahipleri (PO) ve BA'ler
Ubiquitous Language ile yazılım ekipleriyle aynı ortak dili konuşup, Event Storming üzerinden analizleri tasarıma çevirenler.
DevOps ve Mikroservis Uzmanları
Olay güdümlü (Event-Driven) altyapıları ve dağıtık veri tutarlılığını sağlam temellere oturtmak isteyen entegrasyon mühendisleri.
Katılımcılardan Beklentilerimiz
- İleri OOP Bilgisi: Sınıf, Kalıtım, Arayüz (Interface) yapılarında tam yetkinlik, SOLID prensipleriyle kod geliştirebilme becerisi.
- Sistem Karmaşıklığı Tecrübesi: Veritabanı merkezli "Data-Driven" projelerde spagetti veya "Anemic Model" kod yapılarıyla karşılaşıp çıkmaza girmiş olmak.
- Kavramsal Soyutlama: Yazılımı sadece bir veritabanı CRUD işlemi olarak değil, iş süreçlerinin ve kuralların modellemesi olarak görebilme yetisi.
- Teknoloji Bağımsızlık: Belirli bir framework veya ORM aracından ziyade, mimari felsefeye odaklanma isteği.
Bu bölüm; C# ve TypeScript tabanlı Aggregate Root, Domain Event Dispatching, Value Object (Validation) ve Anti-Corruption Layer prensipleri için yapay zeka analizine hazır asistan promptları içerir.
Aggregate Root & Domain Event (C#)
İşlem (Command) tamamlandıktan sonra tüm Domain Event'leri kendi içinde toplayıp dışarıya Event Store veya Service Bus üzerinden fırlatılmaya hazır eden temel sınıf.
public abstract class AggregateRoot {
private readonly List<IDomainEvent> _events = new();
// Yalnızca okunabilir event listesi
public IReadOnlyCollection<IDomainEvent> Events => _events.AsReadOnly();
// Domain içinde yeni olay gerçekleştiğinde koleksiyona ekle
protected void AddEvent(IDomainEvent domainEvent) => _events.Add(domainEvent);
// İşlem DB'ye yansıdıktan (Commit) sonra eventleri temizle
public void ClearEvents() => _events.Clear();
}
public class Order : AggregateRoot {
public void Complete() {
Status = OrderStatus.Completed;
// Invariant kontrolü sonrası sistemin geri kalanına haber vermek için:
AddEvent(new OrderCompletedEvent(this.Id, DateTime.UtcNow));
}
}
Immutable Value Object (TypeScript)
İlkel Tipler (Primitive Obsession) yerine, her zaman kendi içinde geçerli (Valid) olan, kimliği olmayan değiştirilemez (Immutable) değer nesnesi örneği.
class Email {
// Constructor private tutularak doğrudan instance oluşturulması engellenir
private constructor(public readonly value: string) {}
// Factory method (Eğer kurala uymazsa obje hiç var olmaz)
public static create(email: string): Email {
if (!email.includes('@')) {
throw new Error("Domain Hatası: Geçersiz e-posta formatı.");
}
return new Email(email.toLowerCase().trim());
}
}
// Kullanım: Obje yaratıldıysa %100 geçerlidir, her yerde if kontrolüne gerek kalmaz.
const userEmail = Email.create("info@vebende.com");
Domain Model Architect Asistan Promptu
Ekibinizin yazdığı modellerin "Anemik" olup olmadığını veya DDD Hexagonal prensiplerini ihlal edip etmediğini LLM asistanlara kontrol ettirme yönergesi.
Sen, Eric Evans'ın Domain-Driven Design prensiplerine ve Hexagonal (Ports & Adapters) Mimariye hakim Kıdemli bir Yazılım Mimarısın.
Aşağıdaki Domain kodunu incele:
[kod_buraya_gelecek]
Şu prensiplere göre eleştir ve Refactor önerileri sun:
1. Anemic Domain Model: Obje sadece Data transfer objesi (DTO) gibi get/set metotlarından mı ibaret? İş kuralları Servis katmanına sızmış mı (Logic Leak)?
2. Primitive Obsession: Parametre olarak bolca string, int gibi ilkel tipler mi geçilmiş? Bunları "Value Object" kalıplarına çevir.
3. Persistence Ignorance: Model katmanının içinde veritabanı ORM kütüphanelerine (Entity Framework, TypeORM vb.) ait Attribute veya Decorator'lar var mı? Saf hale (POCO) getir.
Aradığınız Eğitimi Bulduğunuzu Düşünüyorsanız!
Kurumsal eğitim programlarımız, sektörün en güncel ve kritik teknoloji trendlerinde yetkinlik kazanmanız amacıyla lider seviyede yapılandırıldı. Küresel 1-10 değerlendirme sistemlerinde 9.5 ve üzeri memnuniyet puanı alan eğitim içeriklerimiz, ekibinize pratik yetkinlik kazandırmak için tasarlandı.
25 yılı aşkın eğitim sektörü birikimimizi, küresel savunma sanayii ve kurumsal DevOps/Siber Güvenlik danışmanlığı tecrübelerimizle harmanlıyoruz. Ekiplerinizin ihtiyaç duyduğu pratik becerileri, tamamen kuruma özel özgün laboratuvar senaryolarıyla destekleyerek sunuyoruz.
Eğitimin ardından tüm katılımcılara özel GitHub depoları üzerinden hazır çalışma ortamları (labs) ve hayat boyu erişebilecekleri dokümantasyon kütüphanesi açılmaktadır. Kurumsal hedeflerinizi uzmanlığımızla gerçeğe dönüştürün.
Eksiksiz Eğitim Kataloğu
Hands-on Kurumsal Eğitim, Workshop ve Turquality Programları
Tüm eğitimlerimiz, 35 yıllık mühendislik deneyiminin süzgecinden geçmiş, tamamen gerçek dünya senaryolarına (Case Study) dayalı ve hands-on (uygulamalı) olarak sunulmaktadır. Materyaller Git üzerinden dinamik olarak paylaşılır ve katılımcı ihtiyaçlarına göre özelleştirilmiş danışmanlık katmanı içerir.
Yapay Zeka, Üretken AI ve AGI Stratejileri
Genel Yapay Zeka (AGI) vizyonundan otonom ajan mimarilerine, kurumsal RAG ve Fine-Tuning stratejilerinden açıklanabilir AI standartlarına uzanan derinlemesine programlar.
DevOps, Kubernetes ve Platform Otomasyonu
Cloud-native altyapıların kurulumu, orkestrasyonu ve yönetiminde endüstriyel standartlar (NIST, CNCF) ile yüksek erişilebilirlik çözümleri.
Siber Güvenlik, DevSecOps ve Defansif Teknolojiler
Yazılım yaşam döngüsünün her aşamasında güvenlik (Security by Design), siber farkındalık ve kurumsal SOC operasyonları uzmanlığı.
Blockchain, Web3 ve Akıllı Sözleşme Geliştirme
Merkeziyetsiz internet (Web3) ekosisteminde; DAO yapıları, NFT mülkiyeti ve Solidity ile güvenli kontrat geliştirme uzmanlığı.
Yazılım Mimarisi, Big Data ve Veri Yönetimi
Event-driven sistemler, mikroservis modernizasyonu ve yüksek trafikli projelerin mimari tasarımı ve optimizasyonu.
Mikroservis Yazılım Üretimi ve Programlama Dilleri
Çok dilli (Polyglot) geliştirme ortamlarında mikroservis tasarımı, asenkron programlama ve temiz kod standartları.
Proje Yönetimi, Agile ve SAFe Metodolojileri
Kurumsal çevikliğin (Business Agility) sağlanmasında; Scrum, Kanban ve SAFe framework'lerinin uygulanması ve PMP standartları.
Teknik Workshop ve Derin Dalış (Deep Dive) Seansları
Spesifik mühendislik problemlerine odaklanan, kısa süreli ancak yoğun uygulama içeren laboratuvar çalışmaları.
Turquality ve Kurumsal Gelişim Programları
Globalleşen kurumlar için Turquality standartlarında teknoloji modernizasyonu, dijital dönüşüm ve stratejik yönetim eğitimleri.
Tüm Workshoplar Sizin İçin Özel Hazırlananan Kurumsal Workshoplarımız
Workshoplar konuların 360 derece açıdan ele alındığı, konuların derinlemesine işlendiği, handsonlar ile katılımcıların birlikte çalışma fırsatı bulduğu en kapsamlı eğitim formatımızdır.
Tüm Seminerlerimiz Sizin İçin Özel Hazırlananan Kurumsal Seminerlerimiz
Tüm seminerlerimiz sizin senaryolarınız ve ihtiyaçlarınız için size özel hazırlanır. Katılımcı profiline uygun özel örnekler ve katılımı teşvik edecek özel içerikler ile zenginleştirilir.