ADVANCED C#, DESIGN PATTERNS AND BEST PRACTICES EĞİTİMİ

Çalışan koddan temiz koda

Ileri C# özellikleri, kalıplar ve kod kalitesi: Span<T> ve pattern matching, async/Channel<T>, GoF kalıpları ve TDD ve mutation testing uygulamalı örneklerle.

Advanced C#, Design Patterns and Best Practices: ileri C# özellikleri, kalıplar ve kod kalitesi. Span<T> ve pattern matching, async/Channel<T>, GoF kalıpları ve TDD ve mutation testing 4 günlük uygulamalı programda işlenir.

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

Eğitim Hakkında

Span<T> ve pattern matching ve async/Channel<T> ekseninde ileri C# özellikleri, kalıplar ve kod kalitesi

Advanced C#, Design Patterns and Best Practices eğitimi, ileri C# özellikleri, kalıplar ve kod kalitesi konusunu uçtan uca ele alır. Span<T> ve pattern matching, async/Channel<T>, GoF kalıpları ve TDD ve mutation testing gibi başlıklar Visual Studio üzerinde canlı kodlama ve kod gözden geçirme çalışmaları ile işlenir. Katılımcılar eğitim sonunda performanslı, test edilmiş ve kalıplarla yapılandırılmış üretim kalitesinde C# kodu yazabilir hale gelir.

Süre ve Format

4 Gün. Her gün dört modül; kısa kavramsal anlatım ve ardından kod gözden geçirme çalışmaları ile uygulama.

Seviye

İleri Seviye — Ileri C# özellikleri, kalıplar ve kod kalitesi için Span<T> ve pattern matching, async/Channel<T> ve GoF kalıpları başlıklarını kapsar.

Öğrenme Metodu

Her modül canlı kodlama ile başlar; katılımcılar kod gözden geçirme çalışmaları üzerinde kendi çözümlerini geliştirip tartışır.

Neden Bu Eğitim?

🧩Gerçek Senaryolar

Span<T> ve pattern matching ve async/Channel<T> konuları, kurumsal projelerde karşılaşılan örneklerle işlenir.

🛠️Uygulamalı Kodlama

Her modül kod gözden geçirme çalışmaları ile pekiştirilir; GoF kalıpları katılımcılar tarafından bizzat kodlanır.

🚀Üretime Hazırlık

TDD ve mutation testing konusunda kalite, güvenlik ve bakım kolaylığı pratikleri kazandırılır.

Anahtar Konular

Advanced C#, Design Patterns and Best Practices eğitimiAdvanced C#, Design Patterns and Best Practices kursuSpan<T> ve pattern matchingasync/Channel<T>GoF kalıplarıTDD ve mutation testingC# eğitimi.NET eğitimi.NET kursuVisual Studio eğitimi
“İyi anlaşılmış Span<T> ve pattern matching, 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
Kıdemli C# Birikimi

Async/await, generic ve LINQ'yi üretim kodunda kullanmış olmak gerekir.

2
Mimari Aşinalık

Katmanlı mimari, DI ve REST kavramlarına hakimiyet 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
Docker ve Git

Konteyner ve sürüm kontrolü komutlarını temel düzeyde bilmek yararlıdır.

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ı, Gelişmiş C# Dili ve Asenkron Programlama kapsamında C# Dil Temelleri ve Tip Sistemi, Nesne Yönelimli Programlama, Koleksiyonlar, Delegate ve LINQ ve Asenkron Programlama (async/await) başlıklarını uygulamalı olarak çalışır.
Modül 1
C# Dil Temelleri ve Tip Sistemi
  • Değer ve referans tipleri, stack/heap ayrımı, boxing/unboxing maliyeti
  • var, nullable değer tipleri (int?) ve nullable reference types (#nullable enable)
  • Operatörler, switch expression, pattern matching (is, when, property pattern)
  • string, StringBuilder ve interpolation; Span<char> ile kopyasız dilimleme
  • record, record struct ve init-only property ile değişmez veri modelleri
  • Tuple, deconstruction ve local function kullanımı
Modül 2
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 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ı, Tasarım Kalıpları kapsamında SOLID ve Tasarım Kalıplarına Giriş, Creational Kalıplar, Structural Kalıplar ve Behavioral Kalıplar başlıklarını uygulamalı olarak çalışır.
Modül 1
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 2
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 3
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ü
Modül 4
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ı
Günün hedefiKatılımcı, Mimari, Veri ve Hata Yönetimi kapsamında Mimari Kalıplar ve Dependency Injection, Uygulama Mimarisi Tasarımı, EF Core İleri Konular: Eşzamanlılık ve Performans ve Hata Yönetimi ve Loglama başlıklarını uygulamalı olarak çalışır.
Modül 1
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 2
Uygulama Mimarisi Tasarımı
  • Katmanlı mimari: Presentation, Application, Domain, Infrastructure
  • Clean Architecture ve bağımlılık yönü kuralı
  • Servis katmanı, Repository, Unit of Work ve DI kayıt organizasyonu
  • Hata yönetimi, loglama ve doğrulamanın cross-cutting olarak tasarımı
  • Güvenlik tasarımı: OWASP Top 10, CSRF (antiforgery), XSS, HTTPS/HSTS
  • Performans, ölçeklenebilirlik ve teknoloji seçimi karar kayıtları (ADR)
Modül 3
EF Core İleri Konular: Eşzamanlılık ve Performans
  • Optimistic concurrency: RowVersion/ConcurrencyCheck ve DbUpdateConcurrencyException
  • Transaction yönetimi: BeginTransaction, savepoint ve TransactionScope
  • SaveChanges interceptor ile audit alanları (CreatedAt, UpdatedBy)
  • DbContext pooling, ChangeTracker ayarları ve toplu ekleme (BulkExtensions)
  • ToQueryString, EF loglama ve SQL Profiler/Extended Events ile sorgu analizi
  • Temporal tables, JSON kolonlar ve spatial veri tipleri
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ı
Günün hedefiKatılımcı, Test ve Paket Yönetimi kapsamında Birim Test Temelleri (xUnit), Mocking ve Bağımlılık İzolasyonu, TDD ve İleri Test Teknikleri ve NuGet Paketleri ve Bağımlılık Yönetimi 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
TDD ve İleri Test Teknikleri
  • Red-Green-Refactor döngüsü ile kata çalışması
  • Mutation testing (Stryker.NET) ve kod kapsamı (Coverlet, ReportGenerator)
  • Integration test: WebApplicationFactory, Testcontainers ile gerçek SQL Server
  • Snapshot testi (Verify) ve property-based testing (FsCheck)
  • Asenkron kod, exception ve zaman bağımlı kod testleri
  • CI hattında test, kapsam eşiği ve flaky test yönetimi
Modül 4
NuGet Paketleri ve Bağımlılık Yönetimi
  • PackageReference, transitive bağımlılık ve sürüm aralıkları
  • Central Package Management (Directory.Packages.props)
  • NuGet.config, özel feed (Azure Artifacts, GitHub Packages)
  • Kendi paketini oluşturma: dotnet pack, nuspec, semantik sürümleme
  • Paket geri yükleme sorunları, lock dosyası ve bağımlılık çakışması
  • Güvenlik: dotnet list package --vulnerable ve Dependabot

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
C# Dil Temelleri

Değer ve referans tipleri, stack/heap ayrımı, boxing/unboxing maliyeti dahil, C# Dil Temelleri ve Tip Sistemi 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.

🛠️
SOLID ve Tasarım

Single Responsibility ve Open/Closed ilkeleri ile refactoring örneği dahil, SOLID ve Tasarım Kalıplarına Giriş 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.

⚡
Uygulama Mimarisi Tasarımı

Katmanlı mimari: Presentation, Application, Domain, Infrastructure dahil, Uygulama Mimarisi Tasarımı 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.

📦
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.

🚀
NuGet Paketleri ve

PackageReference, transitive bağımlılık ve sürüm aralıkları dahil, NuGet Paketleri ve Bağımlılık Yönetimi alanında somut çözümler üretebilirsiniz.

Kimler İçin Uygundur?

  • Birkaç yıl C# deneyimi olan geliştiriciler
  • kod gözden geçirme sorumlusu olacak kıdemli ekip üyeleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Birkaç yıl C# deneyimi olan geliştiriciler ve kod gözden geçirme sorumlusu olacak kıdemli ekip üyeleri.
Eğitime katılmak için ön bilgi gerekir mi?
Async/await, generic ve LINQ'yi üretim kodunda kullanmış olmak gerekir. Katmanlı mimari, DI ve REST kavramlarına hakimiyet 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?
Span<T> ve pattern matching, async/Channel<T>, GoF kalıpları ve TDD ve mutation testing başlıklarının yanında test ve paket yönetimi konusu da yer alır; uygulamalar kod gözden geçirme çalışmaları ü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 4 gündür; her gün dört modül işlenir. Anlatımın ardından kod gözden geçirme çalışmaları 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. Advanced C#, Design Patterns and Best Practices Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 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

C# ve .NETASP.NET MVC Web Applications: Models & Unit Testing Eğitimi
Yazılım Geliştirme Eğitimleri

ASP.NET MVC Web Applications: Models & Unit Testing Eğitimi

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

ASP.NET MVC Web Applications: Models & Unit Testing: xUnit Theory, Moq, ModelState testleri, WebApplicationFactory. 2 gün uygulamalı eğitim, DVA Katılım Sertifi

Detayları Gör →
C# ve .NETASP.NET MVC Web Applications: MVC Application Routes Eğitimi
Yazılım Geliştirme Eğitimleri

ASP.NET MVC Web Applications: MVC Application Routes Eğitimi

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

ASP.NET MVC Web Applications: MVC Application Routes: MapControllerRoute, attribute routing ve IRouteConstraint. 2 gün uygulamalı eğitim | DVA.

Detayları Gör →
C# ve .NETASP.NET MVC Web Applications: MVC Controllers & Actions Eğitimi
Yazılım Geliştirme Eğitimleri

ASP.NET MVC Web Applications: MVC Controllers & Actions Eğitimi

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

MVC Controllers ve Actions eğitimi: ASP.NET MVC controller, action sonuçları, model binding, filtre ve ajax akışlarını tek projede uygulayın. 3 gün uygulamalı,

Detayları Gör →
C# ve .NETASP.NET MVC Web Applications: State & Configuration Management Eğitimi
Yazılım Geliştirme Eğitimleri

ASP.NET MVC Web Applications: State & Configuration Management Eğitimi

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

MVC State ve Configuration Yönetimi eğitimi: ASP.NET MVC'de Session, TempData, Cache, Web.config dönüşümü ve şifreli yapılandırma yönetimi. 3 gün uygulamalı, DV

Detayları Gör →
C# ve .NETASP.NET MVC Web Applications: Troubleshooting, HTTP Modules, & Handlers Eğitimi
Yazılım Geliştirme Eğitimleri

ASP.NET MVC Web Applications: Troubleshooting, HTTP Modules, & Handlers Eğitimi

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

MVC Troubleshooting, HTTP Modules ve Handlers eğitimi: ASP.NET pipeline olayları, HTTP module/handler yazımı, IIS tracing ve MVC sorun giderme teknikleri.

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