CTK-接口、插件、服務


0、概念

接口就是純虛函數類,也就是最終的服務的前身;

插件就是實現這個接口類的實現類,所以理論上有多少個實現類就有多少個插件。注意每個插件都有自己的注冊器Activator;

服務就是根據接口的實例,每生成一個服務就會調用一次注冊器的start。

一句話總結就是:把接口當做類,服務是根據類new出的對象,插件就是動態庫dll

1、1對1

 

 

 

 

 1個接口類由1個類實現,輸出1個服務和1個插件。

2、多對1

 

   1個類實現了2個接口類,輸出2個服務和1個插件,無論想使用哪個服務最終都通過這同一個插件來實現

3、1對多

 

    1接口由2個類實現,也就是某一個問題提供了2種解決思路,輸出1個服務和2個插件,通過ctkPluginConstants::SERVICE_RANKING和ctkPluginConstants::SERVICE_ID來調用不同的插件。這里雖然有兩個插件,但都是被編譯到同一個dll中的。

 

 

ps:

①、某插件每次調用另一個插件的時候,只會生成一個實例,然后把實例存到內存當中,不會因為多次調用而生成多個服務實例。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM