平臺+插件技術算是一種古老的技術了,Windows OS為我們提供了大量Win32 API就是所謂的編程接口,我們基于Windows編的程序就是OS的插件,離開它就無法運行。平臺插件技術在翻新,隨著Eclipse的風靡,這種模式一直不衰,然而思想是陳舊的,這里我談點自己的看法。
淺釋平臺插件
什么叫臺呢?臺,觀四方而高者——《說文》。一個四方的高的平臺,給你一種支撐。
舞臺給演員提供了展示自我的地方,有音響、燈光、帷幕等,而每個演員好比插件,可能是一個歌唱家、相聲演員、舞蹈家。演員踏著臺階來到幕后,帷幕拉起,演員進場在燈光和音響下表演,結束后退到幕后,帷幕拉下,然后是另一個演員上場。離開舞臺,演員就成了普通人。一個舞臺可以成就很多藝人,他們有各自不同的風格,然而他們都是藝術家,不是政客或商人,他們站在舞臺上是表演藝術的。
平臺插件體系也是如此。平臺是用來解決一類問題的基礎設施,它提供了解決問題的工具、遵守的法則以及插件體系管理。有了數字運算工具以及運算法則(先加減后乘除),我們可以解決所有的四則運算問題。以前做地理系統中有這樣問題,拉動網格中節點。這個問題包含類兩個方面,首先拉動會導致數據更新,然后是拉動要遵守規則--節點所有相連線要跟隨拖動。這里變可以把這兩個基礎服務放入平臺,移動規則和數據修改。這樣用戶做一個插件集成到平臺里面,拖動網格中的一個節點,按照規則找到所有相連線,然后對這些線進行數據更新。
典型應用平臺插件模式
平臺插件的優點
1、平臺發布后,在平臺不動的前提下通過插件可以使功能擴展。試想我們在操作系統上做了多少軟件。
2、功能的重用,平臺本身是對所解決問題的一個同類項合并過程,提出公因式,這樣便提高了模塊的復用率。
3、職責清晰,平臺提供功能接口,插件只需要按照接口規范實現調用即可,至于平臺內部功能的優化只要不涉及接口,都是沒有問題的。
4、產品研發周期縮短。平臺以及核心業務實現后即可推出產品,擴展功能可以在后續版本以插件方式開發或交由其他二次開發公司開發。
5、基于組件的平臺本身支持多種語言二次開發,可以降低二次開發難度,提高開發效率。
平臺插件的不足
1、接口的制定比較困難,由于接口的改動會影響很大,所以插件接口的指定很重要。可能由于功能的不斷需要導致接口混亂。
2、基礎服務功能粒度的難以把握。粒度太細可能導致模塊增多難以控制,粒度太粗復用率太低。
3、基于COM做的時候引用計數的維持很可怕,接口查詢成千上萬,被一個馬虎的程序員弄錯一次就導致組件無法釋放。
(2006.7.5于北京華亭)
posted on 2006-07-05 20:44
萬連文 閱讀(1898)
評論(4) 編輯 收藏 引用 所屬分類:
ATL 、
亂七八糟