![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NopCommerce架构分析
WalsonTung
专注于架构设计与产品创新
展开
-
NopCommerce架构分析之开篇
NopCommerce是.net开源项目中比较成熟的一款业务应用框架,也是电子商务系统中的典范。所以很想多学习一下里面的设计和实现方式。(正在整理中,有不完善处,请谅解!)NopCommerce架构分析之开篇NopCommerce架构分析之参考资料NopCommerce架构分析之一----依赖类生成容器NopCommerce架构分析之三---数据库初试化及数据操作原创 2013-05-31 12:25:06 · 11574 阅读 · 1 评论 -
NopCommerce架构分析之四----插件机制
NopCommerce支持灵活的插件机制,所谓Web系统插件,其实也就是可以像原系统的一部分一样使用。Web系统的使用方式就是客户端发送一个请求,服务端进行解析。在asp.net MVC中对客户请求的解析是通过路由的方式实现的。所谓路由就是在客户端发生请求时,对请求路径的解析过程。在Global.asax.cs中注册所有路由类://register custom rou原创 2013-05-31 12:26:40 · 10059 阅读 · 1 评论 -
NopCommerce架构分析之五------Model绑定Action参数
asp.net MVC中Action参数不只是一些基本类型,也支持实体参数。那么从客户端传来的数据如何映射或转换成实体对象呢?就是通过实体绑定类ModelBinder。此系列类在请求转化为后台Controller的Action方法前,捕获传递过来的数据,并对其进行解析和转换,最终为实体类对象。在系统启动前,Global.asax.cs中的方法Application_Start方法调用下面代码定原创 2013-05-31 12:27:00 · 5865 阅读 · 0 评论 -
NopCommerce架构分析之六------自定义RazorViewEngine
系统中对Razor的支持包括两部分,其中之一就是自定义RazorViewEngine一、自定义RazorViewEngine在Global.asax.cs的Application_Start方法中,注册了自定义视图引擎: //remove all view engines ViewEngines.Engines.Cl原创 2013-05-31 14:04:42 · 7062 阅读 · 0 评论 -
NopCommerce架构分析之七------皮肤管理器
IThemeContext:皮肤上下文,支持桌面皮肤和移动段皮肤。其实体类为:ThemeContext;IThemeProvider:皮肤提供者,其实体类为ThemeProvider;皮肤提供者从皮肤配置文件中解析配置项,加载系统提供的所有皮肤方案,系统默认提供桌面干净皮肤(~/Themes/DefaultClean)和移动端皮肤(~/Themes/Mobile)。ThemeConfigura...原创 2013-06-01 12:43:03 · 3533 阅读 · 0 评论 -
NopCommerce架构分析之参考资料
参考:DependencyResolver http://www.cnblogs.com/RobbinHan/archive/2011/11/30/2269537.html依赖注入框架Autofac的简单使用http://www.cnblogs.com/liping13599168/archive/2011/07/16/2108209.htmlModelBinde原创 2013-05-31 12:25:40 · 8606 阅读 · 0 评论 -
NopCommerce架构分析之八------多语言
系统支持的语言是有类:Language表示;多语言资源对应的类为:LocalizedProperty;当先选择某种语言存储在类中:GenericAttribute;多语言可以导出为XML文件,当然也支持导出。IWorkContext及其实体类WebWorkContext为当前运行上下文;用户的登录信息以及一些上下文环境设置都保存在此类中。具体包括:当前用户信息:CurrentC原创 2013-06-02 19:35:52 · 8618 阅读 · 3 评论 -
NopCommerce架构分析之一----依赖类生成容器
NopCommerce为了实现松耦合的框架设计目的,使用了IOC框架:Autofac。据有人测试,Autofac是性能好的IOC工具。1、在IOC中,组件首先需要在IOC中注册,有通过配置文件注册的,像Spring.net,也有通过特性注册的,像StructureMap,也有通过代理来注册的,像Autofac。但是IOC讲究一个原则,就是接口和实现分离。所有IOC就是生命某个具体类实现原创 2013-05-31 12:25:56 · 21717 阅读 · 4 评论 -
NopCommerce架构分析之三---数据库初试化及数据操作
系统启动时执行任务:IStartupTask,启动时执行的任务主要是数据库的初始化和加载。IStartupTask调用IEfDataProvider进行数据库的初始化。IEfDataProvider,SqlCeDataProvider:获取数据连接工厂,不同类型数据库,连接工厂不同。接口IStartupTask的实体类EfStartUpTask的实现如下: public c原创 2013-05-31 12:26:23 · 12344 阅读 · 2 评论