c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

C# Abstract Factory Method Design Pattern Örneği

 C# dilinde Abstract Factory Metot Tasarım Deseni için örnek bir kod hazırladım.



using System;


namespace TekstilFabrikasi

{

public interface IPantolon

{

string PantolonEkle();

}

public interface IGomlek

{

string GomlekEkle();

}

    public class Pantolon : IPantolon

    {

        public string PantolonEkle()

        {

            return "Pantolon";

        }

    }

    public class Gomlek : IGomlek

    {

        public string GomlekEkle()

        {

            return "Gömlek";

        }

    }

public interface ICeket

{

string CeketEkle();

}

public class Ceket : ICeket

    {

        public string CeketEkle()

        {

            return "Ceket";

        }

    }


    public interface IElbiseFactory{

IPantolon PantolonYap();

IGomlek GomlekYap();

ICeket CeketYap();

string KumasTipi();

string Mevsimi();

}


    public class Yazlik : IElbiseFactory

    {

        public string KumasTipi()

        {

           return "Ürünler Keten Kumaştan İmal Edilmiştir.";

        }

public string Mevsimi()

        {

           return "Yaz Sezonu İçin Takım";

        }


        public IPantolon PantolonYap()

        {

            return new Pantolon();

        }

public IGomlek GomlekYap()

        {

            return new Gomlek();

        }

public ICeket CeketYap()

        {

            return new Ceket();

        }

    }



public class TakimOlustur{

private readonly IPantolon _pantolon;

private readonly IGomlek _gomlek;

private readonly ICeket _ceket;

private readonly string _kumasTipi;

private readonly string _mevsim;


public TakimOlustur(IElbiseFactory elbiseFactory){

_pantolon = elbiseFactory.PantolonYap();

_gomlek = elbiseFactory.GomlekYap();

_kumasTipi = elbiseFactory.KumasTipi();

_mevsim = elbiseFactory.Mevsimi();

_ceket = elbiseFactory.CeketYap();

}

public void TakimiSun()

{

Console.WriteLine(_mevsim);

Console.WriteLine(_kumasTipi);

Console.WriteLine(_pantolon.PantolonEkle());

Console.WriteLine(_gomlek.GomlekEkle());

Console.WriteLine(_ceket.CeketEkle());

}

}


public class Program

{

public static void Main(string[] args){

IElbiseFactory yazlik = new Yazlik();

TakimOlustur takimSiparis = new TakimOlustur(yazlik);

takimSiparis.TakimiSun();


}

}

}

C# Ternary Operatörüne Bir Örnek(Bölünebilme Kontrolü)

Bu yazımızda basit bir uygulama yaptık. Amacımız  C# dilinde Ternary Operatörü ile bir iç içe karar verme mekanizması kurmak. Programlamada karar verme yapısı olarak çoğunlukla if- else if-else yapısı kullanılır. Büyük ölçekli projelerde bazı basit karar yapılarını daha az kodlar yazmak için ise ternary kullanılır. Ternary operatörü ile tek satırda iç içe karar yapılarını oluşturabilirsiniz. 

Bu operatör her ne kadar kullanışlı olsa da programın okunmasını zorlaştırır. Bu sebepten, program boyunca çok gerekmedikçe kullanmayın.

Lafı daha da uzatmadan örnek uygulamaya geçiyorum.


Örnek Soru,

C# dilinde şu programı Ternary Operatörünü kullanarak yazın.

  •  Bir sayı dizisindeki elemanların sırasıyla 3, 5 ve hem 3 hem de 5 ile bölünebilirliğini kontrol edilsin. 
  •   Dizideki sayılar  kaça bölünebildikleri belirtilerek alt alta yazılsın.
  •  Bölünemeyenlere ise 3'e veya 5'e  Bölünemez şeklinde bir uyarı yazılsın.

Not: hem 3 hem de 5 ile bölünebilirliği için %15 mod alma ifadesini kullanmayın.

C# Factory Method Design Pattern Örneği

 

Mavi ve Kımızı Bilyeler
C# ile Factory Method Design Pattern(kısaca Factory Deseni), bir interface ya da abstract sınıfı kalıp olarak kullanıp tek bir sınıf örneğini kullanarak farklı nesneler üretmek için kullanılır. Oluşturulan bu nesne her çağrıldığında sahip olduğu factory metodu sayesinde aynı metot ve değişken isimlerini kullanan farklı nesneler oluşturur. Siz metoda hangi tip nesneye ihtiyacınız olduğunu söylersiniz o da eğer içinde tanımlıysa size  o tipte bir nesne olarak döner. Böylelikle o nesnenin işlevlerini aynı değişken ve metot isimlerini kullanarak çağırabilirsiniz. Factory Method Deseninin birbirine çok benzeyen birkaç farklı uygulaması karşınıza çıkabilir. Bir tanesini anladıktan sonra diğer uygulamaları da rahatlıkla çözebilirsiniz. Aşağıda örnek bir uygulama anlatılmıştır. Uygulama basitçe farklı renk hediye kutularına farklı sayıda bilyeler koyup paketlemek gibi önemli bir işi yapmaktadır. Özellikle de yılbaşının yaklaştığı şu günlerde.


Önce ara yüzümüzü oluşturuyoruz. Burada oluşturacağımız nesnenin işlevlerini belirliyoruz. Her nesnenin addMarble isimli bir metodu olsun ve integer tipinde bir değer alıp işlesin istiyoruz. Ama bu işlemin ne olacağı bu ara yüzü(interface) miras alan sınıflarda belirlensin. Yani her mirasçı sınıf bunu kendine göre aynı isimli bir metot altında işlesin.

C# Dilinde ?? (The null-coalescing operator) Kullanımı

 C# dilinde ?? operatörü bir değerin null olması durumunda yani herhangi bir değeri olmadığı durumda atanacak değeri veya ifadeyi belirlemek için kullanılır. The null-coalescing operator olarak bilinir. Aslında bir nevi kısaltmadır. Aynı ternary operatörüne benzer bir kullanımı vardır. 


C#  dilinde bir değişkenin değeri null ise ona varsayılan bir değer atamak için,


if (değişken is null)

{

değişken = atanacak değer ya da ifade

}

şeklinde bir standart kodlama vardır. Bu null değer kontrolü programlama esnasında bir noktadan sonra kod kalabalığı yaptığı için bu işlemi daha az kodla halledecek bir yazım şekli  geliştirilmiştir.

C# Field Nedir?


 C# programlama dilinde sınıfa ait değişkenlere, yani sınıf değişkenlerine field denir. Field'lar string, integer vb değişken tipinde olabilir. Field ya da sınıf değişkeni için olabilecek en basit CSharp örnek programı aşağıdaki gibidir.



using System;

namespace CSharpFiledNedir

{

  class Orneksinif 

  {

    string field1 = "Sınıf Değişkeni";  // field ya da sınıf değişkeni

    int field2 = 200;  // field ya da sınıf değişkeni


    static void Main(string[] args)

    {

      Orneksinif ornekNesne = new Orneksinif();

      Console.WriteLine(ornekNesne.field1);

      Console.WriteLine(ornekNesne.field2);

    }

  }

}


Google Ads'te TBM Düşüren Bir Anahtar Kelime Stratejisi

Google Ads reklamlarının TBM maliyetleri enflasyon ve rekabetin etkisiyle giderek artmakta. Artık eskisi gibi ucuz CPC'lerle reklam yapm...