采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
geely老师,装饰者模式的适用场景中提到动态撤销功能,那是怎么实现的呢? 那些Decorator添加的职责,通过怎样的方式来撤销呢。明明都加到基本类上了。
同学,咱们可以提供一个撤销的方法
public void revoke(){
//撤销到上一次的aBattercake
this.aBattercake = this.aBattercake.getABattercake();
}
好好理解一下这个方法,逻辑有点绕。
非常感谢。这个方法倒是之前没想到的。谢谢了。那这样是不是只能按添加职责的顺序的倒序来撤销职责。因为这样的方法返回的上一层的ABattercake()。有没有比较简单的办法来撤销目标职责。
要看具体的业务,你怎么确定业务不是需要这样倒序的呢?如果是需要顺序的,就要改改数据结构,或者做成随机的。。。看情况吧。
登录后可查看更多问答,登录/注册
系统学习设计原则,设计模式,锤炼编码内功,赢取高薪Offer
2.9k 2
1.3k 11
1.4k 8
1.2k 6
1.3k 6