您的位置:首页 > 编程语言 > C#

对C#插件接口应用的一些理解

2012-10-24 15:42 190 查看
作一程式,边开发边使用,为方便开发与更新,采用插件方式开发,读了网上一些文章,对插件接口有了一些认识:

主程式为程式框架,表现为exe,

功能模块作插件,表现为DLL,

主程式动态调用功能模块,功能模块为主程式的一部分,

主程式怎样与功能模块交互呢?

简单点就是功能模块实例化时把主程式当一值传递给功能模块,主程式上各开放的资源交给功能模块控制,爱咋整咋整,不设防

如果是有条件开放整呢?用接口吧

讲究的是标准,规范,约束,小人之心行事

接口咋整:

定义插件接口(主程式就认这个接口,实现这个接口的都是哥们,不拒绝)

定义主程式接口(提供给功能模块调用,把要开放的资源窗口都写在这上面,功能模块能折腾的就这些了)

功能模块实现插件接口,主程式实现主程式接口,

两个接口成了主程式与功能模块通讯的桥梁,双方对话就靠它了

以下代码摘自网络:

Public Interface IPluginsApplication//供主程式使用,由主程式实现

Event Display(ByVal sender As Object, ByVal e As EventArgs)

Property Caption() As String

Sub DisplayInput(ByVal Text As String)

End Interface

Public Interface IPlugins//供功能模块使用,由功能模块实现

Sub Connect(ByVal PluginsApp As IPluginsApplication)

Sub DIsconnect()

End Interface


主程式代码:

Public Property Caption() As String Implements PluginsInterface.IPluginsApplication.Caption
Get
Return Me.Text
End Get
Set(ByVal value As String)
Me.Text = value
End Set
End Property

Public Event Display(ByVal sender As Object, ByVal e As System.EventArgs) Implements PluginsInterface.IPluginsApplication.Display
...

Dim pobj As PluginsInterface.IPlugins

pobj.Connect(Me)//把主程式开放的接口提供功能模块


不知以上理解是否有错,-_-!!!,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: