Altbilgi içeriğine atla
Iron Academy Logo
C# Öğrenin
C# Öğrenin

Diğer Kategoriler

C# Kısmi Sınıf

Tim Corey
13m 26s

C#'taki parçalı sınıflar bir süredir mevcut ve kodu düzenlemek ve yönetmekte belirli bir amaca hizmet ederler. Videoda, "C#'ta Parçalı Sınıflar - Ne işe yararlar, nasıl kullanılırlar ve daha fazlası", Tim Corey parçalı sınıfların ne olduğunu, nasıl çalıştıklarını ve ne zaman kullanılması gerektiğini araştırıyor.

Bu makale, C#'ta parçalı sınıfları derinlemesine bir anlayış kazandırmaya, nasıl çalıştıklarını açıklamaya, sınırlamaları ve özellikle Windows Forms uygulamalarındaki gerçek dünya kullanım alanlarıyla ilgili bilgi sağlamaya odaklanacak. Tim'in içgörülerini takip ederek, geliştiriciler kod organizasyonunu ve sürdürülebilirliğini arttırmak için parçalı sınıflardan nasıl yararlanacaklarını öğrenebilirler.

Giriş

C#'ta, parçalı sınıflar kavramı, tek bir sınıf tanımını birden fazla parça hâlinde, farklı dosyalar ya da kod bloklarına yayılmış olarak bölebilmenize olanak tanır. Bu işlevsellik genellikle büyük veya karmaşık sınıfları yönetmek için kullanılır, sürdürülebilirliği artırır ve birden fazla geliştirici arasında daha iyi iş birliği sağlar. Geliştiriciler, partial anahtar kelimesini kullanarak iş mantığı kodunu, kullanıcı arayüzü kontrol tanımlarını ve diğer karmaşık bileşenleri yönetilebilir parçalara bölebilir.

Bir parçalı sınıf esasen birden fazla kaynak dosyaya bölünmüş bir sınıf tanımını ifade eder. Bu parçaların veya parçaların tamamı derleme zamanında birleşerek tam bir sınıf oluşturur ve bu sınıf, sanki tek bir dosyada yazılmış gibi davranır. Bu güçlü özellik, otomatik olarak oluşturulan kaynak koduyla çalışırken son derece yararlı olabilir; çünkü el yazısıyla yazılmış mantığın SQL veya tasarımcı tarafından oluşturulan kod gibi araçlarla oluşturulan koddan ayrılmasına olanak tanır.

Tim (0:00) da parçalı sınıfları tanıtır ve videonun amacının parçalı sınıfların ne olduğu, nasıl çalıştığı ve ne zaman kullanılması gerektiği hakkında hızlı bir anlayış sağlamak olduğunu açıklar.

Demo Uygulama Yürütümü

Tim, (0:25)'te bir konsol uygulaması projesinde Demo.cs adlı yeni bir dosya oluşturarak başlıyor. Sınıfı kısmi yapmak için partial anahtar kelimesini kullanıyor. Bu, sınıfın birden fazla dosyaya bölünmesine olanak tanır.

// Demo.cs
public partial class Demo
{
    public void FromDemo()
    {
        Console.WriteLine("This is from Demo");
    }
}

// OtherDemo.cs
public partial class Demo
{
    public void FromOtherDemoFile()
    {
        Console.WriteLine("This is from OtherDemo file");
    }
}
// Demo.cs
public partial class Demo
{
    public void FromDemo()
    {
        Console.WriteLine("This is from Demo");
    }
}

// OtherDemo.cs
public partial class Demo
{
    public void FromOtherDemoFile()
    {
        Console.WriteLine("This is from OtherDemo file");
    }
}

Tim, dosya adları farklı olsa da, sınıf adlarının aynı olması gerektiğini, böylece bunların aynı parçalı sınıfın parçaları olarak kabul edileceğini açıklar. Derleme zamanında, C# derleyicisi bu parçalı sınıf tanımlarını tek bir sınıfta birleştirir.

Parçalı Sınıfların Kullanımı

Tim (3:01)'te Program.cs dosyasında kısmi sınıfı oluşturmayı ve kullanmayı göstermektedir.

class Program
{
    static void Main(string[] args)
    {
        Demo demo = new Demo();
        demo.FromDemo();
        demo.FromOtherDemoFile();
    }
}
class Program
{
    static void Main(string[] args)
    {
        Demo demo = new Demo();
        demo.FromDemo();
        demo.FromOtherDemoFile();
    }
}

Bu kod, hem Demo.cs hem de OtherDemo.cs'den gelen metodların Demo sınıfının tek bir örneği ile erişilebilir olduğunu göstermektedir.

Arayüzlerin Uygulanması

Tim (4:01)'de, bir parçalı sınıfın bir kısmında uygulanan arabirimlerin tüm sınıfa uygulandığını açıklar. Örneğin, kısmi bir sınıfın bir parçası IDisposable'ı uygularsa, bu tüm sınıf için geçerli olur.

// Demo.cs
public partial class Demo : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Dispose method called");
    }
}
// Demo.cs
public partial class Demo : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Dispose method called");
    }
}

Parçalı Sınıfların Sınırlamaları

Tim (5:02)'de parçalı sınıfların bazı sınırlamalarına dikkat çeker. Örneğin, parçalı sınıfın tüm kısımlarının aynı erişim belirteçlerine sahip olması gerekir. Bir parçayı public olarak işaretleyip diğerini internal veya private olarak işaretleyemezsiniz.

Pratik Kullanım Alanı: Windows Forms

Tim (5:29)'da parçalı sınıfların, özellikle Windows Forms uygulamalarında, pratik bir kullanım alanını tartışır. Windows Forms tasarımcı tarafından oluşturulan kodun, otomatik olarak oluşturulmuş kodu kullanıcı tarafından yazılmış koddan ayırmak için parçalı sınıfları nasıl kullandığını gösterir.

// Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

// Form1.Designer.cs
partial class Form1
{
    private void InitializeComponent()
    {
        this.SuspendLayout();
        // 
        // Form1
        // 
        this.ClientSize = new System.Drawing.Size(800, 450);
        this.Name = "Form1";
        this.ResumeLayout(false);
    }
}
// Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

// Form1.Designer.cs
partial class Form1
{
    private void InitializeComponent()
    {
        this.SuspendLayout();
        // 
        // Form1
        // 
        this.ClientSize = new System.Drawing.Size(800, 450);
        this.Name = "Form1";
        this.ResumeLayout(false);
    }
}

Bu ayrım, tasarımcının düzen kodunu yönetmesine olanak tanırken kullanıcının ana form sınıfında uygulama mantığına odaklanmasına olanak tanır.

Parçalı Sınıfların Ne Zaman Kullanılacağı

Tim, parçalı sınıfların yararlı olduğu tipik senaryoları tartışarak sonuca varır. Özellikle kodun otomatik olarak üretildiği veya büyük projelerde de kullanılmaları yaygındır; burada sorumlulukların temiz bir şekilde ayrılması gerekir. Bu, örneğin Windows Forms tasarımcı kodunda, düzen kodunu uygulama mantığından ayırmak, çakışmaların önlenmesi ve daha kolay bakım sağlar.

Parçalı sınıfların bazı durumlarda yardımcı olabileceğinden bahseder, ancak günlük geliştirme çalışmalarında çok sık kullanılmadıklarını belirtir.

Özet

Tim, sonunda, parçalı sınıfların yararlı olabileceğini ancak çok sık gerekli olmadığını öne çıkararak konuyu kapatır. Kod üretimi veya Windows Forms uygulamalarında olduğu gibi büyük, otomatik üretilmiş kod tabanlarıyla çalışırken faydalıdır.

Sonuç

Tim Corey'nin parçalı sınıflar hakkındaki videosu, bu C# özelliğinin nasıl kodu organize edip etkili bir şekilde yönetebileceği konusunda açık ve bilgilendirici bir genel bakış sunmaktadır. Pratik örnekleri aracılığıyla, parçalı sınıfların bir sınıfı birden fazla dosya arasında paylaşarak ne gibi faydalar sunduğuna ve otomatik oluşturulan kodlu veya büyük uygulamalarla karşılaşıldığında ne zaman en yararlı olduklarına dikkat çekmektedir.

Hero Worlddot related to C# Kısmi Sınıf
Hero Affiliate related to C# Kısmi Sınıf

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js üzerinde çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara