常用开源框架中设计模式使用分析-命令模式

十四、命令模式(Command Pattern)

14.1 介绍

命令模式是一种行为模式,通过把命令封装为一个对象,命令发送者把命令对象发出后,就不去管是谁来接受处理这个命令,命令接受者接受到命令对象后进行处理,也不用管命令是谁发出的,所以命令模式实现了发送者与接受者之间的解耦,而具体把命令发送给谁还需要一个控制器。

14.2 Tomcat中命令模式

tomcat作为一个服务器本身会接受外部大量请求,当一个请求过来后tomcat根据域名去找对应的host,找到host后会根据应用名去找具体的context(应用),然后具体应用处理请求。对于具体host来说他不关心这个请求是谁给的,对应请求来说他不必关心谁来处理,但是两者是通过request封装请求对象进行关联起来。

0?wx_fmt=png

tomcat中Connector作为命令发出者,Connector接受到请求后把请求内容封装为request对象(命令对象),然后使用CoyoteAdapter作为分发器把请求具体发配到具体的host,host在根据request对象找到具体的context,至此找到了具体的应用,交给具体应用处理。

另外对于使用springmvc的应用来说,上面找到具体应用,但是具体交给那个controller来处理那,这是不是也是命令模式的使用那。

14.3 使用场景

  • 当事件发送者和接受者直接需要完全解耦(直接并不存在引用关系)时候。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值