责任链模式:管道机制
在软件开发的常接触的责任链模式是FilterChain,它体现在很多软件设计中:
1、比如Spring Security框架中
2、比如HttpServletRequest处理的过滤器中
当一个request过来的时候,需要对这个request做一系列的加工,使用责任链模式可以使每个加工组件化,减少耦合。也可以使用在当一个request过来的时候,需要找到合适的加工方式。当一个加工方式不适合这个request的时候,传递到下一个加工方法,该加工方式再尝试对request加工。
网上找了图,这里我们后文将通过Tomcat请求处理向你阐述。
外观模式:request请求
观察者模式:事件监听
java中的事件机制的参与者有3种角色
1、Event Eource:事件源,发起事件的主体。
2、Event Object:事件状态对象,传递的信息载体,就好比Watcher的update方法的参数,可以是事件源本身,一般作为参数存在于listerner 的方法之中。
3、Event Listener:事件监听器,当它监听到event object产生的时候,它就调用相应的方法,进行处理。
其实还有个东西比较重要:事件环境,在这个环境中,可以添加事件监听器,可以产生事件,可以触发事件监听器。
模板方式: Lifecycle
LifecycleBase是使用了状态机+模板模式来实现的。模板方法有下面这几个: