天天看點

淺談對插件Plugin設計方法的認識

在軟體開發過程中,為了保證軟體的可擴充性,甚至說為了實作功能子產品的封裝和擴充,有時候會用到插件設計方法。舉個簡單的例子,我們需要做一個軟體,這個軟體提供一種功能A,但是這個功能A可能有多種實作的方法,并且這些方法可能是可以增加的,方法是可以替換或者擴充的。雖然方法各式各樣,但是目标是不變的,那就是功能A。為了實作這種方法的擴充,我們可以提供一種擴充接口,隻要後續的開發者遵循這個接口規則,就可以将新的方法加入到原軟體中。甚至,不僅能夠實作這種擴充,還能保證原軟體幾乎可以做到不進行任何修改。這種方法給我們一些軟體的開發确實帶來了很多好處,靈活性、擴充性都得到了提高。

淺談對插件Plugin設計方法的認識

上面是個簡單的例子,我們再考慮一下,我們的軟體開發中,提供各種各樣的功能,如果這些功能我們可以拆成各種零部件,然後組裝起來,零部件各個獨立,但是互相之間可以組合起來,更重要的是,零部件可以替換。就像一台計算機,我們有各種零部件:CPU、主機闆、硬碟、記憶體、顯示卡、顯示器、鍵盤、滑鼠等等,他們互相之間是獨立的,組裝起來之後可以完成各種紛繁複雜的功能,而且,如果記憶體壞掉了,我們不需要換整個機器,不用去換CPU、硬碟,僅僅需要去找合适的記憶體就可以了。維系它們之間聯系的,就是各種接口标準。想連接配接一個USB的滑鼠,你需要對應的USB接口。以前的電腦還有PS/2接口,我們就有了U口轉換線。如果軟體設計中,也能夠用到這樣的設計方法,無疑會給我們的開發、維護或者更新工作帶來極大的便利。

淺談對插件Plugin設計方法的認識

在稍後的部落格中再總結一下自己開發過程中學習到的一些方法。

繼續閱讀