第184章
小A:“但是在上面的举例中并没有体现出来啊!”
大B:“其实命令模式之所以能够支持这种操作,完全得益于在请求者与接收者之间添加了中间角色。为了实现undo功能,首先需要一个历史列表来保存已经执行过的具体命令角色对象;修改具体命令角色中的执行方法,使它记录更多的执行细节,并将自己放入历史列表中;并在具体命令角色中添加undo方法,此方法根据记录的执行细节来复原状态,很明显,首先程序员要清楚怎么来实现,因为它和execute的效果是一样的。同样,redo功能也能够照此实现。命令模式还有一个常见的用法就是执行事务操作。这就是为什么命令模式还叫做事务模式的原因吧。它可以在请求被传递到接收者角色之前,检验请求的正确性,甚至可以检查和数据库中数据的一致性,而且可以结合组合模式的结构,来一次执行多个命令。使用命令模式不仅仅可以解除请求者和接收者之间的耦合,而且可以用来做批处理操作,这完全可以发挥你自己的想象——请求者发出的请求到达命令角色这里以后,先保存在一个列表中而不执行;等到一定的业务需要时,命令模式再将列表中全部的操作逐一执行。”
小A:“哦,命令模式实在太灵活了。真是一个很有用的东西啊!”
大B:“在定义中提到,命令模式支持可撤销的操作。”
其他人正在读 :【明日方舟之铁与血】【美漫从渣康学徒开始】【趁校花青涩,忽悠她给我做老婆!】【将夜:吾为当世仙】【殊途仙路】【战锤40k:碎裂钢魂】【职场沉浮录】【末世之世纪轮回】【不辞春山】【从自创魂环开始的斗罗】【恶霸】【人间第一刀】【香江:风再起时】【不眠春潮】【摆烂太狠,我被宗门当反面教材了】【这个训练家的宝可梦过于跳脱】【七零大杂院小寡妇】【苟在神诡世界】【神算小村医】【龙王医婿全文免费阅读】【天下第一萌夫】【速通修仙!】【海贼之绝巅霸气】【绝世天龙】【今天也没能扬帆起航】【文娱之顶流艺术家】【为了伴侣,这个反派也可以不当】【这个诡异三国游戏太凶残了】【影视:流窜在诸天的收集员】【野火】