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

十四、命令模式(Command Pattern)

14.1 介绍

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

阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不封顶级别,有意向的可以发简历给我,注明想去的部门和工作地点:[email protected]_

14.2 Tomcat中命令模式

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

常用开源框架中设计模式使用分析-命令模式(Command Pattern)_第1张图片
image.png

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

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

14.3 使用场景

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

欢迎关注微信公众号:技术原始积累 获取更多技术干货_

常用开源框架中设计模式使用分析-命令模式(Command Pattern)_第2张图片
image.png

你可能感兴趣的:(常用开源框架中设计模式使用分析-命令模式(Command Pattern))