知识大全 给IBuySpy构建一个PlugIn系统

Posted

篇首语:人之所以有一张嘴,而有两只耳朵,原因是听的要比说的多一倍。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 给IBuySpy构建一个PlugIn系统相关的知识,希望对你有一定的参考价值。

给IBuySpy构建一个PlugIn系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  PlugIn 很COOL的特性 下面将演示如何给我们的IBuySpy定制一个Page Start PlugIn 这个PlugIn可以让用户自己来创建PlugIn 嵌入到IBuySpy的Page Start PlugIn里面 在网站页面载入的时候 会执行用户嵌入的PlugIn       可我们为什么要给IBuySpy创建PlugIn接口呢?我们要实现同样的功能 可以直接的修改它的代码 岂不是直接很多?原因 IBuySpy只是用来演示PlugIn的 你可以把同样的技术应用到其他的WebForm甚至WinForm 而它们可能并不会像IBuySpy一样是免费的 我们交付的产品里面不会附上代码 如果我们提供了PlugIn的接口 无疑会让我们的产品更加具有扩展性 何况很多功能可能可以直接作成PlugIn来嵌入到原有的系统中 这个时候无需再改动原有的代码 再去编译它       构建IBuySpy的PlugIn所需的接口 这些接口就是可以公开给用户代码的       首先需要的是一个通用的IPlugIn接口 所有具体的插件将实现这个接口       namespace ASPNetPortal PlugIns       public interface IPlugIn    String Name get;    String Version get;    void DoAction(IPlugInArgs args);             这个接口有三个成员    Name属性 公开插件的名称    Version属性 公开插件的版本    DoAction()方法 执行插件要做的操作 这个方法还有一个IPlugInArgs的参数 需要传递给方法所参数可以通过它传递出去       然后就是这个IPlugInArgs接口       namespace ASPNetPortal PlugIns       public interface IPlugInArgs    System Web HttpContext Context get;    Object Data get;             它有两个成员    Context属性 一个HttpContext类型的对象 如果我们要让插件能够在页面上做些事 不给它HttpContext肯定不行    Data属性 一个Object类型的对象 预留的 什么地方需要就什么地方用上       接着是一个接口集合类       namespace ASPNetPortal PlugIns       public class PlugInCollection : CollectionBase       public Int Add(IPlugIn plugIn)    return this List Add(plugIn);          public IPlugIn this[Int index]    get    return (IPlugIn) this List[index];                   很简单明了 用户可能不止嵌入一个插件       PlugIn也可以有很多类型 比如我们这里要实现的Page Start PlugIn 是一个在页面载入的时候可以让嵌入的PlugIn执行的 当然你也可以创建各种类型的PlugIn       namespace ASPNetPortal PlugIns       public interface IPageStartPlugIn : IPlugIn          这个PlugIn接口不需要再做任何事 直接继承IPlugIn就可以了       修改IBuySpy 让它支持执行PlugIn       根据我们的需求 我们创建一个实际的插件参数类 这个类继承自IPlugInArgs       namespace ASPNetPortal PlugIns       public class PlugInArgs : IPlugInArgs    private System Web HttpContext _context;    private Object _data;       public PlugInArgs(System Web HttpContext context Object data)    _context = context;    _data = data;          public System Web HttpContext Context    get    return _context;             public Object Data    get    return _data;               

  [NextPage]

cha138/Article/program/net/201311/13605

相关参考

知识大全 用ObjectSpaces重建IBuySpy的数据访问层

用ObjectSpaces重建IBuySpy的数据访问层  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Neptune任务构建系统的实例

Neptune任务构建系统的实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近公司有一个需

知识大全 用Java Servlet构建旗帜广告系统

用JavaServlet构建旗帜广告系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于一个

知识大全 在eclipse下配置生成 hadoop-eclipse-plugin jar包

  想在eclipse下编写Hadoop的程序必须要在eclipse下安装个所谓的hadoopeclipseplugin即插件貌似从hadoop版本后都不直接提供jar包了所以必须得自己编译一个因为是

知识大全 Eclipse基础--plugin插件安装

Eclipse基础--plugin插件安装  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Ecl

知识大全 Struts中用PlugIn扩展Hibernate的例子

Struts中用PlugIn扩展Hibernate的例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 Maven插件之Maven-Enforcer-Plugin

Maven插件之Maven-Enforcer-Plugin  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 使用Doxygen构建文档系统

使用Doxygen构建文档系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  如果您这次还没来得

知识大全 javascript跟随滚动效果插件代码(javascript Follow Plugin)

javascript跟随滚动效果插件代码(javascriptFollowPlugin)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发

知识大全 利用ASP.NET构建网上考试系统

利用ASP.NET构建网上考试系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着计算机网络