.NET Design Patterns (GoF). Memento (Хранитель)

Паттерн Хранитель (Memento) позволяет выносить внутреннее состояние объекта за его пределы для последующего возможного восстановления объекта без нарушения принципа инкапсуляции.

Реальный пример: нам надо сохранять состояние игрового персонажа в игре: