本次StringTempletReplet.dll組件更新了一些算法。主要是更依賴內存裡靜態變量內的數值。
做到了在不改變模板的條件下。緩存模板,緩存委托,緩存標簽解析數據。但是這會更消耗一些內存。
為了可以動態更換模板,不得不每次檢測文件的時間。在這個上消耗了不少時間。也許將來應該去掉
動態更換模板的功能,只提供一個通知模板類重新讀哪個模板文件的接口。
取消了這個頁面 (RetuenString.ASPx --接受標簽字符串 返回解析結果)
畢竟標簽不會做成一種腳本語言。這個功能沒有意義。
有人說不知道總麼用這個模板類在此簡要說一下:
模板類主要作用讀的不是整頁的模板。主要是讀頁面碎片模板。就是讀碎片,解析,顯示。
在web2.0站點,比如blog開發。用戶自定義皮膚的頁面。或者說全靜態頁新聞系統更新中
是有很大作用的。
標簽的功能是通過標簽解析函數來擴展的。所以模板類的速度不光是StringTempletReplet.dll組件
本身執行的速度。還要加上標簽解析函數執行的時間。我例子提供的標簽解析函數只是返回簡單的字符串。
是為了方便說名一下。模板類做的只是提供一個舞台。並盡量讓模板類執行的時間快一些。至於標簽解析
函數是總麼執行。用多少時間。那就是使用人的事情了。
正則替換模板類也寫過。但是自己測試在長度為200多萬的字符串上進行標簽定位分析。比指針定位
要慢8倍以上。當模板字符串長度不斷減小的時候。也許差距會漫漫減小。但是即使兩個的標簽定位時間
一樣。根據字符串不可改變性,對一個字符串不斷的替換會產生新的字符串。太消耗資源了。
Business.cs可以放在UI層 也可以放在邏輯層。只要繼承了FunctionList類就可以。繼承這個類只要
重寫靜態構造函數就可以了。在靜態構造函數內建立標簽和標簽執行函數的對應。
其實在以前的版本裡寫過一種執行標簽。就是在標簽名前加"執行_"標記
{$執行_標簽名:參數1:參數2:參數3::字符10$}
這樣就不用重寫靜態構造函數。是通過反射來執行。但是速度很慢。後來就取消了。畢竟對模板類來說
速度是很關鍵的。
我沒有固定的位置可以讓大家下載,以前是把壓縮文件該為gif圖片。傳到網易的個人資料裡。但是
後來網易對圖片進行檢測了。讓大家下不了。我在找新位置吧。圖片位置會多變。
現在是 http://www.93913.com/Edit_Html/UploadFile/20065/200652205536669.gif
只要圖片還沒有被刪除。可以下這個位置的圖片 改為 Templet.rar 文件就好