Profesyonel Tasarım Desenleri ; Adapter


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication22
{
//Haber servisimiz calısırken yeni bir haber servisi sistemimize gelince gerekli adapte edici sınıfımızı yazıp yeni gelen haber servisini bünyemize
// katıyoruz…
//Gerekli diger acıklamalar diger baslıklar altında var…
interface IHaber
{
DateTime HaberSaat { get; set; }
string Baslik { get; set; }

void HaberEkle();

}

//Eski servisimiz…
class HaberAlServis1 : IHaber
{
private string hbb;
private DateTime hbs;

public DateTime HaberSaat
{
get
{
return hbs;
}
set
{
hbs = DateTime.Now;
}
}

public string Baslik
{
get
{
return hbb;
}
set
{
hbb = value;
}
}

public void HaberEkle()
{
Console.WriteLine(“Haber Alındı ve Eklendi…”);
}
}

//Adapte edilicek yeni haber servisimiz…
class HaberAlServis2
{
public void HaberiEkle()
{
Console.WriteLine(“Servisimizdeki Haberi Aldınız…(Yeni Haber Servisi !)”);
}

}
//HaberAlServis2 yi sistemimize katmak icin adapte edici sınıfımız…
class YeniServisEklendi : IHaber
{

private string hbb;
private DateTime hbs;

private readonly HaberAlServis2 YSH=new HaberAlServis2();

public DateTime HaberSaat
{
get
{
return hbs;
}
set
{
hbs = value;
}
}

public string Baslik
{
get
{
return hbb;
}
set
{
hbb = value;
}
}

public void HaberEkle()
{
YSH.HaberiEkle();
}
}

//İş Akısına bakan sınıfımız…
class HaberIncele
{
private IHaber _IHaber;

public HaberIncele(IHaber hb)
{
_IHaber=hb;
}

public void HaberYap()
{
_IHaber.HaberEkle();
}

}

class Program
{
static void Main(string[] args)
{
var ys=new YeniServisEklendi();
var hi = new HaberIncele(ys);
hi.HaberYap();
//ys.HaberSaat = DateTime.Now;
//Console.WriteLine(ys.HaberSaat);

}
}
}
//İşin özü;Yeni haber servisimizi (Adapte edilicek olan) sistemimize katmak icin ek bir sınıf yazıp (Sistemimize Adapte eden) bunun üzerinden
//işimize devam ediyoruz…

Reklamlar

Fikriniz varmış,malınız gibi paylaşınız...

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s