C#'ta Bridge Design Pattern

C#'ta Bridge Design Pattern kullanımını ele alacağız.

Bridge Design Pattern: Structural Patterns gurubunda yer alır. Bir sınıfın arayüzünü implementasyonundan ayırmak için kullanılır. Böylece her iki yapıda birbirinden bağımsız olarak değişebilir. Bu yapı kendi içerisinde başka bir yapının daha oluşturulmasına izin veren ve bu iç yapının değişikliğe uğramasıyla client’ların hiç bir şekilde etkilenmemesini garanti altına alan bir yapı bizlere sunmaktadır.Abstraction , RefinedAbstraction, Implementor ve ConcreteImplementor yapı taşlarından oluşur.

namespace ConsoleApplication1

{

// Client class MainApp

{

static void Main()

{

Abstraction ab = new RefinedAbstraction();


ab.Implementor = new ConcreteImplementorA(); ab.Operation();


ab.Implementor = new ConcreteImplementorB(); ab.Operation();


// Wait for user Console.ReadKey();

}

}


// Abstraction class Abstraction

{

protected Implementor implementor;

public Implementor Implementor

{

set { implementor = value; }

}


public virtual void Operation()

{

implementor.Operation();

}

}


abstract class Implementor

{

public abstract void Operation();

}


// RefinedAbstraction

class RefinedAbstraction : Abstraction

{

public override void Operation()

{

implementor.Operation();

}

}


// ConcreteImplementorA

class ConcreteImplementorA : Implementor

{

public override void Operation()

{

Console.WriteLine("ConcreteImplementorA Operation");

}

}


// ConcreteImplementorB

class ConcreteImplementorB : Implementor

{

public override void Operation()

{

Console.WriteLine("ConcreteImplementorB Operation");

}

}

}

Ekran Çıktısı:

  • ConcreteImplementorA Operation
  • ConcreteImplementorB Operation

 

Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git