作者yauhh (喲)
看板Programming
標題Re: [問題] 關於 plug-in 設計模式
時間Sat Aug 11 19:50:38 2012
※ 引述《EdisonX (閉上眼的魚)》之銘言:
: 像 excel、fire-fox 都有一些 plug-in 可使用,
: 小弟納悶,若一份程式專案在當時設計時考慮到這點,
: 是否有方式可完成?
: 或 plug-in 會隨程式語言之特性不同而有所不同?
: 像編譯式程式語言開 plug-in 出來後就不用再重編,
: 目前想到的一種方式是開 dll 讓其他 coder 調用 ,
: 但直覺一般 plug-in 應不是用這種方式開後台。
: 這裡想了一陣子還是毫無頭緒,
: 上網 google 後也沒得到適當的 keyword,有點失挫,
: 請各位版友不吝分享經驗或任何線索,
: 或提供 keyword, 參考書籍、文章等,
: 謝謝各位。
我覺得plug-in不會是dll那種,你把一個執行權放出去,卻沒辦法掌控對方的做法.
plug-in代表二件事情:
第一是你的系統一定會讀取每一個plug-in,也就是程式提供一個範圍接納這些plug-in
第二是你的系統提供足夠的彈性,自己反映出plug-in所做的配置.
所以,首先要選擇適合發展plug-in的程式語言及工具,
例如Java以及一些相關的design pattern很適合,物件導向本身滿足以上二件事情.
又如Lisp也很適合,因為這個語言是可以自己擴充的.
使用DLL這是亂來的,因為執行權直接放到plug-in的手上,而plug-in的能力與主程式
相當,於是,像在DLL中寫個無窮迴圈來,對主系統的使用感受是很傷的.
通常會弄個子語言,及有限的程式動作,比較有意義.
如果想不出來,可以讀一讀eclipse的程式,這應該是很好的範例吧.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.54.220
※ 編輯: yauhh 來自: 118.167.54.220 (08/11 19:56)
推 EdisonX:先謝謝您,請教一下是否代表c/c++不適合做 180.177.76.161 08/11 20:05
→ EdisonX:plug-in 之規劃了? 180.177.76.161 08/11 20:05
→ yauhh:當然可以 118.167.54.220 08/11 20:36