插件架构的原理及实现探讨
生活随笔
收集整理的這篇文章主要介紹了
插件架构的原理及实现探讨
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
鄙人乃碼農(nóng),不善辭藻,遂采用一問一答式,試圖解開插件架構(gòu)之謎霧。此次只講原理不上碼。 什么叫插件? 此處不作解釋。 插件的分類? 插件粗分為可視插件和非可視插件。 插件的存在形態(tài)? 插件最終靜靜地持久在磁盤的某個文件中。在DELPHI中插件以.dll和.bpl倆種擴(kuò)展名的文件存在。 插件的加載和釋放? 插件既有生(加載)亦有死(釋放)。bpl插件和dll插件的加載和釋放都有所不同,要具體對待。 如何判斷是哪一種插件? 通過判斷插件文件的擴(kuò)展名可以知道是哪一種插件。在DELPHI中插件的擴(kuò)展名不是<.dll>就是<.bpl>。 插件框架的組成? 由一個插件的加載程序和N個插件組成。它們都是單獨(dú)的工程,這些工程們組成一個龐大的工程組。 插件的加載程序? 它是一個可執(zhí)行程序,由它來開辟一塊進(jìn)程空間,由它負(fù)責(zé)加載插件們進(jìn)它的進(jìn)程空間里面。 插件的粒度? 一個插件可以只包含一個功能模塊,也可以包含N個功能模塊。每一個功能模塊都是類(窗體類)。 這些窗體類有些是可視的,有些是非可視的。如果一個插件只包含一個可視的窗體類,我們叫它 可視插件? 如何封裝插件的功能模塊? 可視插件和非可視插件都可以使用窗體作為插件的容器。如果是可視插件,讓窗體容器創(chuàng)建后顯示; 如果是非可視插件讓窗體容器創(chuàng)建后隱藏。例子:DELPHI就是用非可視窗體作容器封裝線程。 如何調(diào)用插件中的功能模塊? 通過指針。插件.句柄-->統(tǒng)一的接口.統(tǒng)一的方法(參數(shù)們) 插件和插件加載程序之間的契約? 各插件和插件加載程序都必須遵守:統(tǒng)一的接口.統(tǒng)一的方法(參數(shù)們)。
轉(zhuǎn)載于:https://www.cnblogs.com/hnxxcxg/p/3261697.html
總結(jié)
以上是生活随笔為你收集整理的插件架构的原理及实现探讨的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sharepoint数据库连接
- 下一篇: 程序员必须知道的15件事(转)