|
|
|
ProxyProxy - предоставляет объект, контролирующий доступ к данному, перехватывая все вызовы к нему.
namespace Proxy_DesignPattern
{
using System;
using System.Threading;
abstract class CommonSubject
{
abstract public void Request();
}
class ActualSubject : CommonSubject
{
public ActualSubject()
{
Console.WriteLine("Starting to construct ActualSubject");
Thread.Sleep(1000); // Мощные вычисления
Console.WriteLine("Finished constructing ActualSubject");
}
override public void Request()
{
Console.WriteLine("Executing request in ActualSubject");
}
}
class Proxy : CommonSubject
{
ActualSubject actualSubject;
override public void Request()
{
if (actualSubject == null)
actualSubject = new ActualSubject();
actualSubject.Request();
}
}
public class Client
{
public static int Main(string[] args)
{
Proxy p = new Proxy();
if (1==1) // При некотором условии выполняется запрос
p.Request();
return 0;
}
}
}
![]() Back |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2010 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development