作者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)
1F:推 EdisonX:先谢谢您,请教一下是否代表c/c++不适合做 180.177.76.161 08/11 20:05
2F:→ EdisonX:plug-in 之规划了? 180.177.76.161 08/11 20:05
3F:→ yauhh:当然可以 118.167.54.220 08/11 20:36