NopCommerce架构分析之(四)基于路由实现灵活的插件
NopCommerce:一个灵活插件机制的Web系统
在NopCommerce这个强大的电商平台中,其灵活的插件机制是一大亮点。Web系统的使用方式,无非客户端发送一个请求,服务端进行。在ASP.NET MVC框架下,这种过程是通过路由来实现的。
路由,简而言之,就是当客户端发出请求时,对请求路径的过程。在NopCommerce中,所有的路由类都是在Global.asax.cs文件中进行注册的。
其中,IRoutePublisher这个角色——我们称之为路由发布者,它以主动的方式向系统添加路由。这个角色的实体类是RoutePublisher。当系统运行环境启动时,路由发布者会在IOC的帮助下查找所有的路由提供者——即那些继承自IRouteProvider的类。然后,由这些插件的路由提供者向系统中注册此插件的路由。
在NopCommerce的插件管理机制中,PluginManager扮演着重要的角色。它负责加载插件的DLL文件,并保存所有插件的信息。当系统初始化时,PluginManager会通过Initialize方法加载所有的插件。
每个插件都有自描述文件Description.txt,而PluginDescriptor这个类则负责保存后的插件描述或者说是此描述文件的结果实体类。值得一提的是,每个插件都集成了IPlugin接口,这意味着插件拥有安装和卸载的功能。
在NopCommerce的文件结构中,~/App_Data/InstalledPlugins.txt保存了所有加载或安装了的插件信息;~/Plugins目录则是安装的插件所在之处;而~/Plugins/bin则是每一个插件的备份所在地。
NopCommerce的插件机制为开发者提供了巨大的便利。通过注册路由,开发者可以实现插件的灵活集成,使得插件能够像原系统的一部分一样使用。这种机制不仅增强了系统的可扩展性,也使得系统维护更为方便。作为一个深入NopCommerce的开发者,你可以发现更多有趣的细节和强大的功能等待你去发掘。
编程语言
- NopCommerce架构分析之(四)基于路由实现灵活的插件
- destoon实现商铺管理主页设置增加新菜单的方法
- js判断一个字符串是以某个字符串开头的简单实例
- angular.JS实现网页禁用调试、复制和剪切
- FCK 编辑器焦点问题
- JavaScript两个变量交换值的实现方法
- 对angularJs中ng-style动态改变样式的实例讲解
- js只执行1次的函数示例
- php文件上传的简单实例
- CorFlags.exe检查.NET程序平台目标(Platform Target)的工
- ASP实现URL编码
- PHP基于curl模拟post提交json数据示例
- 解决Jquery向页面append新元素之后事件的绑定问题
- JavaWeb Servlet中url-pattern的使用
- 十分钟内学会 避免用户刷新导致重复POST提交
- JavaScript通过元素索引号删除数组中对应元素的方