大B:“由於在JUnit中,參雜了其它的模式在裏麵,使得命令模式的特點不太明顯。我給你講講以命令模式在Web開發中最常見的應用——Struts中Action的使用作為例子。”
小A:“嗯。好的。”
大B:“在Struts中Action控製類是整個框架的核心,它連接著頁麵請求和後台業務邏輯處理。按照框架設計,每一個繼承自Action的子類,都實現execute方法——調用後台真正處理業務的對象來完成任務。”
大B:“需要注意的是:繼承自DispatchAction的子類,則可以一個類裏麵處理多個類似的操作。”
下麵我們將Struts中的各個類與命令模式中的角色對號入座。
先來看下命令角色——Action控製類
……
*可以看出,Action中提供了兩個版本的執行接口,而且實現了默認的空實現。
下麵的就是請求者角色,它僅僅負責調用命令角色執行操作。
……
大B:“Struts框架為我們提供了以上兩個角色,要使用struts框架完成自己的業務邏輯,剩下的三個角色就要由我們自己來實現了。”
小A:“那要怎麼去實現啊?”
大B:“實現的步驟如下:1、很明顯我們要先實現一個Action的子類,並重寫execute方法。在此方法中調用業務模塊的相應對象來完成任務。2、實現處理業務的業務類。將自己的Action和Form以及相應頁麵結合起來。4、編寫jsp,在頁麵中顯式的製定對應的處理Action。”
(本章完)