責任鏈模式:管道機制
在軟件開發的常接觸的責任鏈模式是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是使用了狀態機+模板模式來實現的。模板方法有下面這幾個: