What
is the need for Memento Pattern
in C# (C Sharp)?
C# provides
you an option to externalize internal state of an object for restoring
it at a later point of time. This is made possible by implementing Memento
Pattern. To implement this pattern, three classes are required. The mementoClass
will store the objects internal state.
The ownerClass will have privileges to restore the objects state.
The safeKeepingClass will ensure safety of the information in mementoClass.
This class will not have rights to access the contents of mementoClass.
Here is a sample code demonstrating it:
public class
mementoClass {
private string objState;
//Include constructor with state as parameter and include property to
get/set objState
}
public class safeKeepingClass {
private mementoClass memObj;
//Include methods or properties to get/set memObj
}
public class ownerClass {
private string objState;
//Include property to get/set objState
public mementoClass createInstance() {
return(new mementoClass(objState));
}
public void restoreState(mementoClass memObj) {
objState = memObj.State //State is the property of memObj returning objState
}
}