C#'ta Proxy Design Pattern

C# da Proxy Design Pattern kullanımını görelim.

Proxy Design Pattern: Structural Patterns gurubu içerisinde yer alır. İstemcinin kullanacağı bir nesneye kontrol ve erişim için vekillik sağlanması gerektiği durumlarda kullanılır. Proxy tasarım deseni performansa açısından oluşturulması zaman alan karmaşık bir nesneyi basit bir nesne ile temsil etmektedir.

Performans, Nesnenin farklı network yapısında bulunması ve yetkilendirme ön hazırlık gerektiği durumlarda kullanılır. İstemci ile nesne arasında kalan bir yapı olarak düşünülebilir.

Network internet üzerinden taşınan bellek kullanımı ve kapladığı alan yüksek nesneler video resim gibi yapılar örneklerde incelenmiş.

  • Subject: Interface abstract class
  • Real Subject: Arayüzünü uygulayan asıl nesne
  • Proxy: Realsubject kullanan bünyesinde içeren class
namespace ConsoleApplication1

{

// Client class Program

{

static void Main()

{

Proxy proxy1 = new Proxy(); Proxy proxy2 = new Proxy();


proxy1.Request(); proxy2.Request(); proxy2.Request();

Console.Read();

}

}


// Subject

abstract class Subject

{

public abstract void Request();

}


// RealSubject

class RealSubject : Subject

{

public override void Request()

{

Console.WriteLine("Called RealSubject.Request()");

}

}


// Proxy

class Proxy : Subject

{

RealSubject realSubject;


public override void Request()

{

if (realSubject == null)

{

realSubject = new RealSubject();

}


realSubject.Request();

}

}

}

 

Yorum Yaz

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

Yukarı Git