我看到很多程序,比如千千静听等,很多功能都通过加载插件模块的方式来实现。那,在NET中,一般是怎样实现这样的功能的?如何,将一个系统的功能在划分完成以后,分别制作,再使用插件的方式整合在一起?并且,允许第三方设计者,自由的开发模块?
     这样的程序,有没有官方或者权威的代码示例,或者公认的NET上的制作方法?

解决方案 »

  1.   

    定义插件的接口实现插件,利用反射利用插件like this 
      

  2.   

    。抽象
    有没有类似的程序源代码?或者,MSDN上,有没有类似的介绍?
      

  3.   

    你可以去codeproject去看看有沒有相關的例子。
      

  4.   

    。貌似很复杂
    codeproject,是英语的我的读取速度。
      

  5.   

    sharpdevelop的插件树,Eclipse源码,只有少量的内码,其它全是插件(无限扩展)
      

  6.   

    Eclipse,JAVA的。。NET上也是一样的?
      

  7.   

    这个问题跟你是使用何种语言没有关系,而是一种设计方法。顺序执行和依赖引用方式是肯定不行的。正如deadshot123(随风缘)说的,插件需要统一接口,千千静听的插件用到media player也不会正常run的。
      

  8.   

    好,我先去看看Eclipse的源码MSDN上没有相关介绍吗?呼唤中文资料~~~
      

  9.   

    我写了一个ADKFramework
    就是纯插件支持得
    http://www.iamdcboy.com具体用反射来实现
      

  10.   

    ...Eclipse是看platform吧?,有org.eclipse.platform.source_3.2.1.r321_v20060921-b_XVA-INSQSyMtx
    org.eclipse.platform.source.win32.win32.x86_3.2.1.r321_v20060921-b_XVA-INSQSyMtx
    这2个是一样的?
    还有,http://www.iamdcboy.com 加入收藏夹了,等下学习一下~~
      

  11.   

    。。难道eclipse是用c++编的?我怎么看到都是.h和.cpp的文件?
      

  12.   

    。说错了,还是.java的,不过,都打在.zip包里
      

  13.   

    sharpdevelop 推荐这个,拿它的Core出来,加上你自己的FrameWork,然后就是插件相关的东西了。
      

  14.   

    IOC模式,看一下吧.
    有很多框架可以应该,直接在XML里进行配置就可以插入了....
      

  15.   

    我看了dcboy的程序,大致上,是编译一个DLL文件,作为插件,放置到固定目录下。在一个XML文件中,指出反射调用需要的DLL文件名和方法名(方法名能否省略?),在程序中,利用反射来调用XML中指定的方法。
           是不是在NET中都是这样做的?没有涉及什么标准啊?
           又看了一些关于SharpDevelop的介绍,源码正在下载。发现dcboy的程序,不知道如何解决多个插件之间的影响的?对dcboy的程序的换肤功能比较感兴趣~~~
      

  16.   

    还有,插件程序,有一些插件是需要本身带有UI的,dcboy的程序,一个插件就是一个Form,是不是有其他办法,类似Eclispe的效果,所有插件集成在一个UI中?
      

  17.   

    。。SharpDevelop的源码下载好慢