ПКРПСиБД LAB6 Машеров Д.Е. (548501), страница 3
Текст из файла (страница 3)
double Mul(double x, double y);
double Div(double x, double y);
}
Math.cs
class Math
{
public double Add(double x, double y) { return x + y; }
public double Sub(double x, double y) { return x - y; }
public double Mul(double x, double y) { return x * y; }
public double Div(double x, double y) { return x / y; }
}
ProxyMath.cs
class ProxyMath
{
Math math;
public ProxyMath()
{
math = null;
}
public double Add(double x, double y)
{
return x + y;
}
public double Sub(double x, double y)
{
return x - y;
}
public double Mul(double x, double y)
{
if (math == null)
math = new Math();
return math.Mul(x, y);
}
public double Div(double x, double y)
{
if (math == null)
math = new Math();
return math.Div(x, y);
}
}
Программа:
static void Main(string[] args)
{
ProxyMath math = new ProxyMath();
Console.WriteLine(math.Add(2, 5));
Console.WriteLine(math.Mul(2, 5));
Console.Read();
}
UML-диаграмма
Диаграмма классов:
Диаграмма последовательности
Литература
-
http://andrey.moveax.ru/patterns/oop/structural/proxy/
-
http://ru.wikipedia.org/wiki/Proxy_(шаблон_проектирования)
-
http://www.dofactory.com/Patterns/PatternProxy.aspx