DESIGN PATTERNS IN C# EĞİTİMİ

Kalıpları ezberleme, doğru yerde kullan

GoF kalıplarını C# ve .NET 8 ile uygulama: SOLID ilkeleri, Factory ve Builder, Strategy ve Observer ve Repository ve DI uygulamalı örneklerle.

Design Patterns in C#: GoF kalıplarını C# ve .NET 8 ile uygulama. SOLID ilkeleri, Factory ve Builder, Strategy ve Observer ve Repository ve DI 3 günlük uygulamalı programda işlenir. Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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

Eğitim Hakkında

SOLID ilkeleri ve Factory ve Builder ekseninde GoF kalıplarını C# ve .NET 8 ile uygulama

Design Patterns in C# eğitimi, GoF kalıplarını C# ve .NET 8 ile uygulama konusunu uçtan uca ele alır. SOLID ilkeleri, Factory ve Builder, Strategy ve Observer ve Repository ve DI gibi başlıklar Visual Studio üzerinde canlı kodlama ve refactoring kata'ları ile işlenir. Katılımcılar eğitim sonunda kod kokularını tanıyıp uygun tasarım kalıbıyla refactor edebilir, test edilebilir mimariler kurabilir hale gelir.

Süre ve Format

3 Gün. Her gün dört modül; kısa kavramsal anlatım ve ardından refactoring kata'ları ile uygulama.

Seviye

Orta Seviye — GoF kalıplarını C# ve .NET 8 ile uygulama için SOLID ilkeleri, Factory ve Builder ve Strategy ve Observer başlıklarını kapsar.

Öğrenme Metodu

Her modül canlı kodlama ile başlar; katılımcılar refactoring kata'ları üzerinde kendi çözümlerini geliştirip tartışır.

Neden Bu Eğitim?

🧩Gerçek Senaryolar

SOLID ilkeleri ve Factory ve Builder konuları, kurumsal projelerde karşılaşılan örneklerle işlenir.

🛠️Uygulamalı Kodlama

Her modül refactoring kata'ları ile pekiştirilir; Strategy ve Observer katılımcılar tarafından bizzat kodlanır.

🚀Üretime Hazırlık

Repository ve DI konusunda kalite, güvenlik ve bakım kolaylığı pratikleri kazandırılır.

Anahtar Konular

Design Patterns in C# eğitimiDesign Patterns in C# kursuSOLID ilkeleriFactory ve BuilderStrategy ve ObserverRepository ve DIC# eğitimi.NET eğitimi.NET kursuVisual Studio eğitimi
“İyi anlaşılmış SOLID ilkeleri, bakımı kolay ve güvenilir yazılımın ilk adımıdır.”

Ön Koşullar

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

1
C# Deneyimi

Sınıf, interface, koleksiyon ve LINQ kullanımı ile en az birkaç aylık C# deneyimi.

2
Temel Web/SQL

HTTP, JSON ve temel SQL sorgularına aşinalık (web konuları için) beklenir.

3
Geliştirme Ortamı

Visual Studio 2022 (Community yeterli) ve .NET 8 SDK kurulu, yönetici haklarına sahip bir dizüstü bilgisayar.

4
Git Bilgisi

Örnek kodları depodan çekmek için temel Git komutları bilinmelidir.

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ı, SOLID ve Creational Kalıplar kapsamında Nesne Yönelimli Programlama, SOLID ve Tasarım Kalıplarına Giriş, Creational Kalıplar ve Structural Kalıplar başlıklarını uygulamalı olarak çalışır.
Modül 1
Nesne Yönelimli Programlama
  • Sınıf, kalıtım, abstract class ve interface farkı; default interface methods
  • virtual/override/new ve polimorfizmin çalışma zamanı davranışı
  • Encapsulation: property, access modifier, required üyeler
  • Generic sınıflar ve kısıtlar (where T : class, new(), IComparable<T>)
  • Extension method, partial class ve static class tasarımı
  • Operator overloading, IEquatable<T>, GetHashCode ve eşitlik sözleşmesi
Modül 2
SOLID ve Tasarım Kalıplarına Giriş
  • Single Responsibility ve Open/Closed ilkeleri ile refactoring örneği
  • Liskov Substitution ihlalleri ve Interface Segregation ile dar arayüzler
  • Dependency Inversion ve IoC kavramı, constructor injection
  • Kalıpların GoF sınıflandırması: creational, structural, behavioral
  • Anti-pattern'ler: God Object, Singleton kötüye kullanımı, Service Locator
  • Kod kokuları (code smells) ve kalıpla çözüm seçme kriterleri
Modül 3
Creational Kalıplar
  • Singleton: thread-safe Lazy<T> uygulaması ve DI konteyneriyle karşılaştırma
  • Factory Method ve Abstract Factory ile ürün ailesi üretimi
  • Builder ve fluent API ile karmaşık nesne oluşturma
  • Prototype: ICloneable, derin/yüzeysel kopya ve record with ifadesi
  • Object Pool: ObjectPool<T> ve ArrayPool<T> ile bellek tekrar kullanımı
  • Kalıpların .NET BCL'deki karşılıkları: Lazy<T>, StringBuilder, Activator
Modül 4
Structural Kalıplar
  • Adapter ile eski kütüphane ve üçüncü taraf API uyarlama
  • Decorator ile Stream ve loglama/önbellek sarmalayıcıları (Scrutor ile DI)
  • Facade ile karmaşık alt sistemleri tek giriş noktasında toplama
  • Proxy: virtual, koruma ve uzak proxy; DispatchProxy kullanımı
  • Composite ile ağaç yapıları ve Bridge ile soyutlama-uygulama ayrımı
  • Flyweight ile bellek tasarrufu ve gerçek senaryo ölçümü
Günün hedefiKatılımcı, Behavioral ve Mimari Kalıplar kapsamında Behavioral Kalıplar, Mimari Kalıplar ve Dependency Injection, Koleksiyonlar, Delegate ve LINQ ve Asenkron Programlama (async/await) başlıklarını uygulamalı olarak çalışır.
Modül 1
Behavioral Kalıplar
  • Strategy ile çalışma zamanında algoritma seçimi (ödeme, indirim hesabı)
  • Observer: event, IObservable<T>/IObserver<T> ve Rx.NET'e giriş
  • Command ve undo/redo yığını, MediatR ile CQRS komut işleyicileri
  • Template Method, Chain of Responsibility ve ASP.NET Core middleware ilişkisi
  • State ve Visitor ile durum makinesi ve ağaç gezintisi
  • Mediator, Memento ve Iterator kalıplarının uygulaması
Modül 2
Mimari Kalıplar ve Dependency Injection
  • Repository ve Unit of Work kalıbı ile EF Core: ne zaman gereksiz?
  • Specification kalıbı ile yeniden kullanılabilir sorgu kuralları
  • Microsoft.Extensions.DependencyInjection: Transient, Scoped, Singleton ömürleri
  • Options Pattern (IOptions, IOptionsSnapshot) ve Decorator kaydı
  • CQRS ve MediatR pipeline behavior'ları ile cross-cutting concern
  • Katmanlı, Clean Architecture ve Onion mimarilerinde kalıpların yeri
Modül 3
Koleksiyonlar, Delegate ve LINQ
  • List<T>, Dictionary<TKey,TValue>, HashSet<T>, Queue/Stack ve ConcurrentDictionary seçimi
  • IEnumerable, IEnumerator ve yield return ile tembel (lazy) dizi üretimi
  • Delegate, Func/Action/Predicate, multicast delegate ve event deseni
  • Lambda ifadeleri, closure tuzakları ve expression tree temelleri
  • LINQ method syntax: Where, Select, GroupBy, Join, Aggregate, SelectMany
  • Deferred execution, ToList() zamanlaması ve çoklu enumerasyon hataları
Modül 4
Asenkron Programlama (async/await)
  • Task, Task<T>, ValueTask ve async state machine mantığı
  • async/await akışı, ConfigureAwait(false) ve SynchronizationContext
  • Task.WhenAll, Task.WhenAny ve paralel I/O çağrıları
  • CancellationToken ile iptal ve zaman aşımı yönetimi
  • Parallel.ForEachAsync, Channel<T> ve producer-consumer deseni
  • Deadlock senaryoları (.Result/.Wait()) ve async void tehlikesi
Günün hedefiKatılımcı, Kalıplarla Test Edilebilir Tasarım kapsamında Birim Test Temelleri (xUnit), Mocking ve Bağımlılık İzolasyonu, EF Core Sorgulama ve Yükleme Stratejileri ve Hata Yönetimi ve Loglama başlıklarını uygulamalı olarak çalışır.
Modül 1
Birim Test Temelleri (xUnit)
  • Test piramidi, birim/integration/E2E ayrımı ve FIRST ilkeleri
  • xUnit, NUnit, MSTest karşılaştırması; [Fact], [Theory], [InlineData], [MemberData]
  • Arrange-Act-Assert, test adlandırma ve test sınıfı organizasyonu
  • Assert kütüphaneleri: FluentAssertions ve Shouldly
  • Fixture, IClassFixture, IAsyncLifetime ve test verisi üretimi (Bogus, AutoFixture)
  • Test Explorer, dotnet test ve Live Unit Testing
Modül 2
Mocking ve Bağımlılık İzolasyonu
  • Test double türleri: dummy, stub, fake, spy, mock
  • Moq: Setup, Returns, Verify, Callback ve It.IsAny<T>
  • NSubstitute ve FakeItEasy ile karşılaştırma
  • Test edilebilir tasarım: interface, DI, zaman ve dosya sistemi soyutlama (TimeProvider)
  • Statik ve sealed sınıfları sarmalama; HttpClient için HttpMessageHandler mock
  • Aşırı mock tuzakları ve davranış/state testi dengesi
Modül 3
EF Core Sorgulama ve Yükleme Stratejileri
  • LINQ to Entities: Where, Include/ThenInclude, projection (Select) ve AsNoTracking
  • Eager, explicit ve lazy loading; N+1 sorgu problemi tespiti
  • Split query (AsSplitQuery) ve cartesian explosion
  • Ham SQL: FromSqlRaw, FromSqlInterpolated, ExecuteSqlRaw ve stored procedure çağrısı
  • Compiled queries, ExecuteUpdate/ExecuteDelete ile toplu işlem
  • Sayfalama (Skip/Take, keyset pagination) ve dinamik filtre oluşturma
Modül 4
Hata Yönetimi ve Loglama
  • try/catch/finally, exception filter (when) ve throw; ile stack trace korunumu
  • Özel exception sınıfları ve exception hiyerarşisi tasarımı
  • using/IDisposable/IAsyncDisposable ile kaynak yönetimi
  • ILogger<T>, log seviyeleri ve yapılandırılmış loglama
  • Serilog ile dosya ve konsol sink'leri, enrichers ve correlation id
  • Global hata yakalama stratejisi ve kullanıcıya gösterilecek mesaj politikası

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Nesne Yönelimli Programlama

Sınıf, kalıtım, abstract class ve interface farkı; default interface methods dahil, Nesne Yönelimli Programlama alanında somut çözümler üretebilirsiniz.

🧩
Creational Kalıplar

Singleton: thread-safe Lazy<T> uygulaması ve DI konteyneriyle karşılaştırma dahil, Creational Kalıplar alanında somut çözümler üretebilirsiniz.

🛠️
Structural Kalıplar

Adapter ile eski kütüphane ve üçüncü taraf API uyarlama dahil, Structural Kalıplar alanında somut çözümler üretebilirsiniz.

🔐
Mimari Kalıplar ve

Repository ve Unit of Work kalıbı ile EF Core: ne zaman gereksiz? dahil, Mimari Kalıplar ve Dependency Injection alanında somut çözümler üretebilirsiniz.

⚡
Koleksiyonlar, Delegate ve

List<T>, Dictionary<TKey,TValue>, HashSet<T>, Queue/Stack ve ConcurrentDictionary seçimi dahil, Koleksiyonlar, Delegate ve LINQ alanında somut çözümler üretebilirsiniz.

🧪
Birim Test Temelleri

Test piramidi, birim/integration/E2E ayrımı ve FIRST ilkeleri dahil, Birim Test Temelleri (xUnit) alanında somut çözümler üretebilirsiniz.

📦
Mocking ve Bağımlılık

Test double türleri: dummy, stub, fake, spy, mock dahil, Mocking ve Bağımlılık İzolasyonu alanında somut çözümler üretebilirsiniz.

🚀
Hata Yönetimi ve

try/catch/finally, exception filter (when) ve throw; ile stack trace korunumu dahil, Hata Yönetimi ve Loglama alanında somut çözümler üretebilirsiniz.

Kimler İçin Uygundur?

  • En az bir yıl C# yazmış
  • kod tabanını daha esnek
  • bakımı kolay hale getirmek isteyen geliştiriciler ve takım liderleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
En az bir yıl C# yazmış, kod tabanını daha esnek ve bakımı kolay hale getirmek isteyen geliştiriciler ve takım liderleri.
Eğitime katılmak için ön bilgi gerekir mi?
Sınıf, interface, koleksiyon ve LINQ kullanımı ile en az birkaç aylık C# deneyimi. HTTP, JSON ve temel SQL sorgularına aşinalık (web konuları için) beklenir. Gerekli ortam: Visual Studio 2022 (Community yeterli) ve .NET 8 SDK kurulu, yönetici haklarına sahip bir dizüstü bilgisayar.
Eğitimde hangi konular işleniyor?
SOLID ilkeleri, Factory ve Builder, Strategy ve Observer ve Repository ve DI başlıklarının yanında kalıplarla test edilebilir tasarım konusu da yer alır; uygulamalar refactoring kata'ları üzerinden yürür.
Eğitim sonunda sertifika veriliyor mu?
Evet, katılım ve başarı koşullarını sağlayanlara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Bu eğitim herhangi bir üretici sınavının yerine geçmez; sınav söz konusuysa başvuru ve ücreti ilgili kuruma aittir.
Eğitim kaç gün sürer ve nasıl işlenir?
Program 3 gündür; her gün dört modül işlenir. Anlatımın ardından refactoring kata'ları ile uygulama yapılır, sorularınız oturum içinde yanıtlanır.

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. Design Patterns in C# 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

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