设计模式(0)之命令模式

描述:

在显示生活中 , 有女朋友((Gril))的男生(Boy)苦不堪言. 女生以女王自居 , 众屌丝们不得不听女王的命令,

(PS : 这是自然规律, 请大家不要打破自然规律, )

女王常常会下一些命令(Command), 而这些命令的执行者不是女王 ,而是爱她们的男友 (表面与本质分离)

有时候下的命令会很多,他们会写便签(PowerNote),记下自己想要执行的命令

那么 ,最后会宣布圣旨(sub)

这样你一来 ,女王会很方便的add一些命令,也可以自由的remove一些命令,是之更加灵活

这也符合设计模式的 开闭原则


在实际生活中,女王--便签---男友

其实是  下命令的人 ---记录命令的工具 ---执行命令的人

命令者模式把


代码:

RS:

时间: 2024-07-31 22:09:04

设计模式(0)之命令模式的相关文章

从王者荣耀看设计模式(九.命令模式)

从王者荣耀看设计模式(命令模式) 一.简介 王者荣耀是一款团队竞技游戏.良好的团队信息交流在一定程度上能帮助队伍取得胜利.为了保证游戏的流畅性与便捷性,王者荣耀提供了快捷交流机制,在王者小地图旁边有几个快捷聊天按钮(开始撤退,发起进攻,请求结合),玩家可通过点击快捷聊天按钮发出相应命令与队友进行交流 二.命令模式 命令模式(Command Pattern):命令模式是一种高内聚的模式,将"请求"封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作.

设计模式(14)--Command(命令模式)--行为型

作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.模式定义:   命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transaction)模式.   命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 2.模式特点: 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序

设计模式整理_命令模式

命令模式将请求封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象,命令模式也支持可撤销的操作.当需要将发出请求的对象和执行请求的对象解耦的时候,采用命令模式. 命令模式中有几个名词:调用者,命令,接受者,客户.客户负责创建命令和调用者,调用者将命令封装在自己里面,当客户需要执行某些操作的时候,调用者就将调用命令对象的方法,命令对象通知接受者执行操作.一个命令对象通过在特定的接受者上绑定一组动作来封装一个请求,调用者可以接受命令作为自己的参数,甚至在运行的时候动态的执行,命令可以支持撤销

[设计模式-行为型]命令模式(Command)

一句话 命令的请求和命令的执行用不同的对象表示.(好处是可以独立开发,也可以进行撤销) 概括 解析 COMMAND-俺有一个MM家里管得特别严,没法见面,只好借助于她弟弟在我们俩之间传送信息,她对我有什么指示,就写一张纸条让她弟弟带给我.这不,她弟弟又传送过来一个COMMAND,为了感谢他,我请他吃了碗杂酱面,哪知道他说:"我同时给我姐姐三个男朋友送COMMAND,就数你最小气,才请我吃面."命令模式:命令模式把一个请求或者操作封装到一个对象中.命令模式把发出命令的责任和执行命令的责任

设计模式-行为型-命令模式(COMMAND)

命令模式是一个结构比较简单的设计模式,gof在书中对它的定义是:"将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤消的操作." 这里有两个要点,第一请求被封装成了一个对象,第二请求可以被持久化(排队或是记录.取消). 我们从第一个要点说起.首先需要注意一点的所有COMMAND的模型都可以抽象出一个Execute概念或是类似概念.如下图(左)一样,这里的请求就是对文档做出paste操作,封装的结果就是通过PasteCommand的一

设计模式系列之命令模式

命令模式 1 使用场景 1. 命令的发送者和命令执行者有不同的生命周期.命令发送了并不是立即执行. 2. 命令需要进行各种管理逻辑. 3. 需要支持撤消\重做操作(撤销命令). 2 角色 2.1 client 1.创建具体的命令 2.设置命令的接受者 2.2 Command 1 定义命令的统一接口 2 command为所有命令声明了一个借口,调用命令对象的excute方法,就可以让接受者进行相关的操作 3 这个接口也具备撤销的方法 2.3 ConcreteCommand 1 Command接口的

设计模式-行为型-命令模式

命令模式(Command): 将请求封装成对象,以便使用不同的请求.日志.队列等来参数化其他对象.命令模式也支持撤销操作. 命令模式的角色: 1)传递命令对象(Invoker):是请求的发送者,它通常拥有很多的命令对象,并通过访问命令对象来执行相关请求,它不直接访问接收者. 2)抽象命令接口(Command):声明执行命令的接口,拥有执行命令的抽象方法execute(). 3)具体的命令对象(ConcreteCommand):是抽象命令类的具体实现类,它拥有接收者对象,并通过调用接收者的功能来完

Java-马士兵设计模式学习笔记-命令模式

一.概述 命令模式 二.代码 1.Client.java 1 public class Client { 2 3 public void request(Server server){ 4 server.addCommand(new TextCommand()); 5 server.addCommand(new ImageCommand()); 6 server.doSomething(); 7 } 8 } 2.Server.java 1 public class Server { 2 3 pr

Java设计模式系列之命令模式

命令模式(Command)的定义 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化:对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来. 命令模式(Command)的适用性 1.抽象出待执行的动作以参数化某对象. 2.在不同的时刻指定.排列和执行请求. 3.支持取消操作. 4.支持修改日志,这样当系统崩溃时,这样修改可以被重做一遍. 5.用构建在原语操作上的高层操作构造一个系统. 命令模式(Command)的应用效果:1)comma