package com.cheng.bigtalkdesignpatterns.memento;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import com.cheng.designpatternstudy.R;
public class BTDPMementoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_btdp_memento);
}
public void onClick(View v) {
Originator o = new Originator();
o.setState("On"); // 初始状态为On
o.show();
Caretaker c = new Caretaker();
c.setMemento(o.createMemento()); // 保存状态时由于有了很好的封装,可以隐藏Originator的实现细节
o.setState("Off"); // 改变了状态属性为Off
o.show();
o.setMemento(c.getMemento()); // 恢复原初始状态
o.show();
}
}