webwork中實現擴充套件用例方案1

2021-08-22 04:00:54 字數 1086 閱讀 4532

背景:

產品一期已經上線,二期必然有很多改動,其中有一處是在原有工作流中引入新的工作流,說白了就是在原先做好某個頁面上加入一塊新的內容,通常你會去修改你的原先的 service使得其多返回一塊資料,或者改變action的內容使其呼叫某個新的service(這樣做不好),如果改變頻繁,你會不斷的修改以前的東西,其實完全可以***來隔離關注點,這樣的話你的修改不會干擾的以前的內容,如果你的修改的東西下一期又不要了,也不要緊,在配製檔案中去掉這個***就行了

廢話說了一堆,進入實戰,看看方案一

step 1)寫listtopvideoscontributedintercept類

public class listtopvideoscontributedintercept implements interceptor

。。。。。

}step2)改變以前的action

加入以下內容:

private list topvideoscontributedlist;

/***

* @author weip

* @time 2006-6-8 9:56:08

* @return list

*/public list gettopvideoscontributedlist()

/***

* @author weip

* @time 2006-6-8 9:56:12

* @param topvideoscontributedlist list

*/public void settopvideoscontributedlist(list topvideoscontributedlist)

主要是加入乙個屬性,以便注入資料

3)修改配置檔案

/cn/tvuserinfo/tvuserinfo.ftl

/cn/tvuserinfo/tvuserinfo_error.ftl

加入紅色的那一行

這樣的話就直接通過***實現了資料的表現,不會干擾以前的內容,有很好的即插即用效果,但有一點不好

需要改變原有的action以實現注入,雖然是很小的表現改動,但還是不爽,如何能做到更加完美的外掛程式效果,看方案下集

用例的擴充套件與包含

擴充套件 extend 包含 include 擴充套件 extend extend關係是對基用例的擴充套件,基用例是乙個完整的用例,即使沒有子用例的參與,也可以完成乙個完整的功能。上面這段引用能看明白嗎?我反正是看不明白的 老師給舉了個例子,讓我恍然大悟。比如你想開叉到800公里外的目的地,但是油箱...

用Yar擴充套件實現RPC

rpc remote procedure call 遠端過程呼叫。是一種程序間通訊技術,允許程式像呼叫本地方法一樣呼叫遠端服務。rpc遮蔽了資料打包 網路通訊的細節,使得使用者只需要關注於服務呼叫,而服務呼叫又像呼叫本地方法一樣自然。php有個yar擴充套件,提供了rpc服務端和客戶端的功能。pec...

使用Lua的擴充套件庫LuaSocket用例

目錄結構 luasocket 是 lua 的網路模組庫,它可以很方便地提供 tcp udp dns ftp http smtp mime 等多種網路協議的訪問操作。它由兩部分組成 一部分是用 c 寫的核心,提供對 tcp 和 udp 傳輸層的訪問支援。另外一部分是用 lua 寫的,負責應用功能的網路...