`
767045988
  • 浏览: 62527 次
  • 性别: Icon_minigender_1
  • 来自: 湖南永州
社区版块
存档分类
最新评论
  • zhoushunlong: 嘿嘿,这东西是你自己总结的吗?总结不错,再接再厉
    Scrum

命令模式

阅读更多

命令模式(Command)
定义: 将来自客户端的请求传入一个对象,无需了解这个请求激活的 动作或有关接受这个请求的处理细节。

主要实现的是把客户的各种请求和操作封装到一个命令对象中,从而达到把命令的请求和对命令的
具体执行两者之间的关系相互分离的目标;同时还能对命令的请求者以统一的形式进行
命令请求(功能调用),并委派给不同的对象

解决问题:只关心行为,不关心具体执行类或者实现.
优点:解耦了发送者和接受者之间联系。 发送者调用一个操作,接受者接受请求执行相应的动作,因为使用Command模式解耦,发送者无需知道接受者任何接口。


举例说明:
我们去饭店吃饭,角色里有我,服务员,厨师(能烧多种菜)

分析:1、我是命令的请求者
      2、厨师是执行命令的对象
      3、服务员是命令控制者。
      4、我们可以定义1个抽象命令(该命令下有1系列子命令,每个子命令调用厨师的1门手艺,比如红烧猪手)

举例说明:
我们知道我们访问1个网站,网站能够同时接受的人数是有限的,我们发送的请求是1个命令,这些命令存放在命令列表里,这些命令可以被执行或是撤消。


项目中应用:在某个管理系统中,需要对每个登陆的用户进行日志记录,但是日志记录有多种形式,比如:
控制台,log4j

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics