11 Eyl 2015

Bridge Pattern

Author: strongsoul | Filed under: Teknik

Bridge design pattern interface’i implementasyondan ayırır, bu tasarım kalıbı işlemleri belli fakat bu işlemler farklı sistemlerde farklı şekilde yapılandırılacak ise kullanılır.

Kod’layalım görelim; ( neyse düşüncemiz olsun kodumuz )

using System;

namespace BridgePattern
{
	// Bridge Design Pattern.
	//
	class MainApp
	{
		static void Main()
		{
			Soyutlama ab = new IslenenSoyutlama();

			ab.uygulayiciProperty = new SomutA();
			ab.islem ();// can alici nokta: aslinda somutA'nın methoduna erisiyoruz

			ab.uygulayiciProperty = new SomutB();
			ab.islem ();// can alici nokta: aslinda somutB'nin methoduna erisiyoruz

			Console.ReadKey();
		}
	}
		
	class Soyutlama
	{
		protected Uygulayici uygulayici;

		public Uygulayici uygulayiciProperty
		{
			set { uygulayici = value; }
		}

		public virtual void islem()
		{
			uygulayici.islem();
		}
	}
		
	abstract class Uygulayici
	{
		public abstract void islem();
	}
		
	//connector
	class IslenenSoyutlama : Soyutlama
	{
		public override void islem()
		{
			uygulayici.islem();
		}
	}

	class SomutA : Uygulayici
	{
		public override void islem()
		{
			Console.WriteLine("somutA sinif islemi");
		}
	}
		
	class SomutB : Uygulayici
	{
		public override void islem()
		{
			Console.WriteLine("somutB sinif islemi");
		}
	}
}

çıktı :
—————————————————–
somutA sinif islemi
somutB sinif islemi

Yorum Bırakın