命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
一个通用的例子是你在餐厅点餐。您(即Client)要求服务员(即Invoker)携带一些食物(即Command),服务员只是将请求转发给主厨(即Receiver),该主厨知道什么以及如何烹饪。另一个例子是你(即)使用遥控器()Client打开(即Command)电视(即)。
使用场景:认为是命令的地方都可以使用命令模式,比如: 1、GUI 中每一个按钮都是一条命令。 2、模拟 CMD。
这就是简单的封装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| interface Open{ void execute(); } class Action{ public void clickOpen(){ System.out.print("按钮执行开机程序"); } public void farOpen(){ System.out.print("远程执行开机程序"); } } class TV implements Open{ public Action mAction; public TV (Action action){ Action = action; } public void execute(){ mAction.clickOpen(); } } class Control implements Open{ public Action mAction; public TV (Action action){ Action = action; } public void execute(){ mAction.farOpen(); } }
|