模式概述
命令模式是一种行为设计模式,它可将请求转换为一个包含所有上下文信息的独立对象,并根据不同的请求将方法参数化、延迟请求执行或将其放入队列中,且能撤销操作。
问题
假如李星云正在开发一款新游戏,当前的任务是创建一个包含多个功能的工具栏,并让每个按钮对应人物的不同行为、动作或道具。
李星云创建了一个非常简洁的按钮类,它不仅可用于生成工具栏中的按钮,还可用于生成各种对话框的通用按钮。
所有按钮看上去都很相似,但它们可以完成不同的操作,如打开行囊,整理行囊,装备道具,使用道具等。
在哪里放置这些按钮的处理代码合适呢? 最简单的解决方案是在使用按钮的每个地方都创建大量的子类或方法,这些子类或方法中包含点击后必须执行的代码。
原创大约 6 分钟