详解command设计模式,解耦操作和回滚( 二 )
class RedoableMenu(MenuItemBaseClass):def __init__(self, command):self_command = commanddef pressed(self):self._command.execute()def unpress(self):self._command.undo()
这样我们的UI就和command解耦了 , 如果我们想要实现不同的可以回滚的功能 ,只需要实现不同的command创建实例就可以了 。 对于整个UI的使用没有任何影响 , UI组件当中用到的所有类都是统一的 。 可能在Python这种弱类型语言当中看不太出来 , 因为我们一个list说是menu基类的list , 但是其实装什么都行 。 但如果是强类型语言 , 那么这种抽象和封装就是非常有必要的了 。
今天的文章就到这里 , 衷心祝愿大家每天都有所收获 。 如果还喜欢今天的内容的话 , 请来一个三连支持吧~(点赞、关注、转发)
- END -
本文始发于公众号:TechFlow , 求个关注
推荐阅读
- 极速鲨课堂85:显卡怎么测试 3DMARK详解
- 性能翻倍!飞腾首款8核桌面处理器腾锐D2000详解
- 详解工程师不可不会的LRU缓存淘汰算法
- 网速再翻倍,官方详解小米 11 搭载的 WiFi 6 增强版技术
- 苹果指南详解如果隐私受到威胁,如何锁定iPhone
- 小米多看电纸书Pro详解:1099元值不值得买?
- 电动汽车「换电问题」详解:更换电池是否为新电池呢?
- 安卓面试必备的JVM虚拟机制详解,看完之后简历上多一个技能
- 新能源出租车驶入包头,运管部门详解换新热点问题
- 光子算数白冰:详解光子AI芯片落地进展与研发路径|GTIC2020