C# Partial Class Nedir ?

Büyük projelerde oluşturduğumuz class’ lar zamanla okunması zor hale gelebilecek uzunlukta kod satırları ile dolabilmektedir. Partial class bize bir class’ ı birden fazla class olarak bölmemize, constructor, değişken, property, metodları vs. düzenli bir şekilde ayrı ayrı oluşturmamızı sağlamaktadır. Fiziksel olarak birden fazla parça ile oluşan partial class’ lar, çalışma zamanında tek bir class olarak bütün elemanları içerisinde barındırmaktadır.
Partial class ile fiziksel olarak parça class’ların birleşmesi için class isimlerinin aynı olması gerekmektedir.
Örneğimizde constructor, değişken, property ve metodlarımızı ayrı ayrı classlar içerisinde oluşturalım ve sonra çalışma anındaki birleşmiş halini inceleyelim.
Constructor class’ ımızı tanımlayalım.

partial class A
{
    public static void A1()
    {
        Console.WriteLine("A1");
    }
 }
partial class A
{
    public static void A2()
    {
        Console.WriteLine("A2");
    }
}

Kullanımı

class Program
{
    static void Main()
    {
	A.A1();
	A.A2();
    }
}
Output
A1
A2

C# Class Diagram Oluşturmak

C# uygulamaları yazarken nesneye yönelik bir yapı kullanırız. Bu yapı içerisinde birbirlerinden türetilen class’lar, bu class’ların Field,Metot ve Propery’leri vardır. Class Diagram bu class’lar araşındaki ilişkiyi görsel olarak gösteren bir diyagram oluşturmamıza olanak sağlar. Bu bize bir çok konuda yardımcı olsada en basit anlamda program içinde yarattığımız class’lar arası ilişkiyi görsel olarak görerek yeni ilişkileri daha rahat kurabilmemizi sağlar.

Bu diagramın en önemli özelliği örneğin bir diyagram oluşturup bu diagrama bi class eklediyseniz o class’ın koduna Field,Property veya metod eklersek diyagram otomatik olarak değişmektedir. Bu durumun terside söz konusudur yani eğer diagram üzerindeki bir class’a diagram üzerinden Field,Property veya Metod eklersek kodunu class’ın içine otomatik olarak eklemektedir.

Class Diagram Ekleme :
*Projenin üstüne gelip Add -> New Item ‘a tıklanıp Class Diagram seçilirse projemize Class Diagram eklemiş oluruz.
*Class Diagramımızı eklememizin ardından diagramın üstüne sağ tıklayıp Add -> Class dersek projemizde bulunan bir class’ı veya yeni bir class oluşturup o class’ı diagrama ekleyebiliriz.
2
3
Artık diyagramımıza eklediğimiz class’ın kod kısmında class’a Property,Field veya Metod eklediğimizde bu yaptığımız değişiklikler diyagramımıza otomatik olarak yansıyacaktır. Daha önce bahsettiğim gibi tam terside geçerlidir. Diyagramımıza eklediğimiz class’a diyagram üzerinde Property,Field veya Metod eklersek bunların tanımlamaları kod kısmında otomatik olarak yazılmaktadır. Yani class’larımızı dizayn ederken hem kod hemde diyagramları kullanabiliriz.4
Class’larımız arasında kalıtım(inheritance) varsa veya şemadan bakarak inheritance yapıyı oluşturmak istersek toolbox içirisindeki Inheritance özelliğini kullanarak bu class’lar birbirinden türetebiliriz.
7
Class Diagram’ı ile bir class’ın Interface’ini üretmek istiyorsak yapmamız gereken işlem ise diyagram üzerinde class’a sağ tıklayıp Refactor-> Exract Interface… denemmiz yeterli olacaktır.
6
Son olarakta bu oluşturduğumuz diyagramı başka yerlerde örneğin proje dökümantasyonunda kullanmak isteyebiliriz böyle bir durumda Visual Studio bize bu diyagramı resim olarak export etmemizi sağlar. Bunun için yapılması gereken tek şey diyagramın üstüne sağ tıklayıp “Export Diagram As Image..” demektir.
8