factory method

--

Creational Patterns ailesine ait bir tasarım desenidir.Solid prensiplerinden Open-Closed mantığı derki Sınıflarımız gelişime açık ama değişime kapalı olmalıdır.Factory method bunu destekler.Örnek :

Bütün Kodlar

namespace FactoryMethod

{

public interface IAraç

{

void BilgiYazdir();

}

public class Taksi : IAraç

{

public void BilgiYazdir()

{

Console.WriteLine(“Taksi Oluşturuldu”);

}

}

public class Otomobil : IAraç

{

public void BilgiYazdir()

{

Console.WriteLine(“Otomobil Oluşturuldu”);

}

}

public enum AracTip

{

Taksi = 1,

Otomobil = 2

}

public interface IAracFactory

{

IAraç AracUretici(AracTip type);

}

public class AracFactory : IAracFactory

{

public IAraç AracUretici(AracTip type)

{

IAraç arac = null;

switch (type)

{

case AracTip.Taksi: arac = new Taksi(); break;

case AracTip.Otomobil: arac = new Otomobil(); break;

}

return arac;

}

}

class FactoryMetodOrnek

{

static void Main()

{

var aracFactory = new AracFactory();

IAraç otomobil = aracFactory.AracUretici(AracTip.Otomobil);

otomobil.BilgiYazdir();

IAraç taksi = aracFactory.AracUretici(AracTip.Taksi);

taksi.BilgiYazdir();

Console.ReadKey();

}

}

}

--

--

ilhan DEMİRTEPE
ilhan DEMİRTEPE

No responses yet