|
|
|
MementoMemento - паттерн, реализующий механизм сохранения внутреннего состояния класса с возможностью последующего восстановления.
namespace Memento_DesignPattern
{
using System;
class Originator
{
private double manufacturer=0;
private double distributor = 0;
private double retailer = 0;
public void MakeSale(double purchasePrice)
{
manufacturer += purchasePrice * .40;
distributor += purchasePrice *.3;
retailer += purchasePrice *.3;
}
public Memento CreateMemento()
{
return (new Memento(manufacturer, distributor, retailer));
}
public void SetMemento(Memento m)
{
manufacturer = m.A;
distributor = m.B;
retailer = m.C;
}
}
class Memento
{
private double iA;
private double iB;
private double iC;
public Memento(double a, double b, double c)
{
iA = a;
iB = b;
iC = c;
}
public double A
{
get
{
return iA;
}
}
public double B
{
get
{
return iB;
}
}
public double C
{
get
{
return iC;
}
}
}
class caretaker
{
}
public class Client
{
public static int Main(string[] args)
{
Originator o = new Originator();
o.MakeSale(45.0);
o.MakeSale(60.0);
Memento m = o.CreateMemento();
o.MakeSale(60.0);
o.MakeSale(10.0);
o.MakeSale(320.0);
o.SetMemento(m);
return 0;
}
}
}
![]() Back |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2010 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development