装饰者模式的动态撤销功能的实现
来源:11-2 装饰者模式coding

血夜之末
2019-06-13
geely老师,装饰者模式的适用场景中提到动态撤销功能,那是怎么实现的呢?
那些Decorator添加的职责,通过怎样的方式来撤销呢。明明都加到基本类上了。
写回答
2回答
-
同学,咱们可以提供一个撤销的方法
public void revoke(){
//撤销到上一次的aBattercake
this.aBattercake = this.aBattercake.getABattercake();
}
好好理解一下这个方法,逻辑有点绕。
10 -
血夜之末
提问者
2019-06-14
非常感谢。这个方法倒是之前没想到的。谢谢了。
那这样是不是只能按添加职责的顺序的倒序来撤销职责。
因为这样的方法返回的上一层的ABattercake()。
有没有比较简单的办法来撤销目标职责。012019-06-20
相似问题