命令模式:對(duì)命令的封裝,每一個(gè)命令都是一個(gè)操作:請(qǐng)求的一方發(fā)出請(qǐng)求要求執(zhí)行一個(gè)操作;接收的一方收到請(qǐng)求,并執(zhí)行操作。命令模式解耦了請(qǐng)求方和接收方。請(qǐng)求方只需要請(qǐng)求執(zhí)行命令,不用關(guān)心,命令是怎樣被接收,怎樣被操作,以及是否被執(zhí)行
本質(zhì):解耦命令請(qǐng)求和處理
屬于行為型模式
eg:遙控器 菜單
適用場(chǎng)景:現(xiàn)實(shí)中語(yǔ)義中具備命令的操作,如 菜單? shell命令
請(qǐng)求調(diào)用和請(qǐng)求接受者需要解耦,使得調(diào)用者和接受者不直接交互
需要抽象出等待執(zhí)行的行為,比如撤銷undo 操作和恢復(fù) redo操作
需要支持命令宏? 即 命令組合操作