做虛假的外掛程式

2021-03-31 08:56:57 字數 1284 閱讀 9375

做虛假的外掛程式

最近一直在進行下一代csdn社群的詳細設計,其中各個社群都需要有自己的特色,苦惱的地方就是靈活定製和效能的取捨。

外掛程式系統就是相當靈活的系統。

這裡對外掛程式系統的描述就相當不錯。摘抄幾句:

外掛程式系統就是指 當宿主程式開發好以後,可以開發一些符合自定義規範的程式(外掛程式),來擴充宿主程式的功能。

外掛程式系統的設計注意點為:

1. 宿主程式如何知道外掛程式的存在;

2. 外掛程式如何從宿主程式獲得必需要的內容;

3. 外掛程式之間如何交換資訊;

4. 如何對外掛程式進行擴充(也就是說每乙個外掛程式都可以作為乙個宿主程式);

5. 考慮外掛程式公升級,等其它因素;

另外,如果每個外掛程式要用到自己的資料庫的話,更麻煩。在社群設計中每個外掛程式涉及到資料庫就很明顯,比如csdn 社群的積分制可以被認為是乙個外掛程式。儲存積分就需要資料表。而這個資料表又不是孤立的。

這樣靈活的系統下,效能必然成為很大的問題,而社群一般都是眾人集中的地方,效能、使用者體驗是第一要素。

考慮到以上的問題,在csdn下一代社群開發中,我覺得採用乙個中庸取捨方式比較好。

首先這個社群的外掛程式應該都是由我們組織開發的,我們清楚有哪些外掛程式。這樣就不需要考慮特別靈活的擴創乙個新的外掛程式,而只需要考慮靈活的呼叫乙個外掛程式,同時呼叫時要考慮效能問題。

這樣在新設計乙個外掛程式的時候,可能會比較麻煩。但好在這不是第三方完成的,我們是可以控制的。

我們在程式架構上,就可以假設這些外掛程式都是存在的,只是呼叫不呼叫的問題。

這其實就變成配置引數的思想,而不再是外掛程式的思想了。

只不過我們為了為了維護方便,仍然採用外掛程式的思想,把每乙個外掛程式相關的操作,盡量集中到乙個應用程式集中(這裡僅僅是盡量而不是強制要求)。部署的時候,方便管理。

這個虛假外掛程式系統中,甚至可能部分外掛程式是混雜在一起的(比如資料庫中,宿主資料表和外掛程式用到資料表被整合到乙個表中,宿主程式和外掛程式對該資料表同一行不同列的操作,可能會被集中到乙個函式中完成)。

這就是乙個虛假的外掛程式系統。但是他是照顧了效能,又有相當靈活性的。

結論:以上的中庸取捨思想,其實在軟體開發中很有意義,因為我們的實際專案需求,跟某個設計模式的理想狀態總是有差別的。

附帶說一下:**的總體效能,總體體驗,主要是由使用者最常使用的功能決定的,如果你的乙個優化把使用者最常使用的功能反應速度提高了,而把不常使用的功能反應速度增大了,這仍然是乙個好的效能方案。

c 做自己的外掛程式軟體

用到的模組 xml檔案操作,io包的使用,類載入器的使用,c 基本語法 設計 xml操作類,檔案選擇類,動態類庫解析類 所用的顏色 bg rgb 37,37,38 color fff xml文件內容設計 root element zmjh chajian node element chajian n...

執行緒的虛假喚醒

所謂虛假喚醒字面意思理解就是執行緒在被喚醒後,執行緒執行等待的變數條件實際上仍然不滿足,這種情況發生在兩個以上的多執行緒生產者消費者問題中。從乙個實際的例子中來理解虛假喚醒,建立乙個簡單的消費者生產者模型,判斷條件時共享資源number是否等於0,等於0時,生產者讓其 1,不等於0時,消費者讓其 1...

瞭望 冷靜,過熱的虛假繁榮

2006年09月21日 15 05 00 時間關係,我每天只關注央視2套的 第一時間 裡面有兩個新聞,讓我記憶頗深。乙個是泰國的軍事政變,國王宣布了新的臨時 負責人,而當鏡頭轉向流亡在倫敦的他信前總理時,他臉上的表情居然是那麼鎮定和從容,甚至掛著微笑,就彷彿一切與己無關,又好像是一切盡在掌握。我不禁...