一种多用户商城的系统构架设计技术方案

技术编号:17837186 阅读:19 留言:0更新日期:2018-05-03 19:01
本发明专利技术公开了一种多用户商城的系统构架设计,本系统构架包括表现层、服务层、数据层和核心层。表现层基于Area路由映射;服务层代码分为接口和实例两部分,使用AutoFac来实现IOC模式;数据层采用微软的Entity Framework做为ORM框架;作为系统的最底层的核心层,不依赖于任何项目,与具体业务无关接口与方法的集合。

A system architecture design for multi user business city

The invention discloses a multi-user shopping mall system architecture design, which comprises presentation layer, service layer, data layer and core layer. The presentation layer is based on Area routing mapping; the service layer code is divided into two parts of the interface and instance, using AutoFac to implement the IOC pattern; the data layer uses the Microsoft Entity Framework as the ORM framework; as the bottom layer of the system, it is not dependent on any project, and the set of unrelated interfaces and methods with specific business affairs.

【技术实现步骤摘要】
一种多用户商城的系统构架设计
本专利技术涉及移动互联网系统构架设计技术,特别涉及一种多用户商城的系统构架设计。
技术介绍
在EF的默认配置中,业务模型和EF其它部分是在同一目录下。业务模型在项目中是无依赖且被其它几乎所有项目所引用(除Core外),业务模型混杂在EF中将导致EF被其它层引用,即整个EF对其它可视,这种引用关系严重破坏了各相邻层之间单向依赖性,因此在Himall中我们对EF的配置进行了改进,将EF的映射关系部分与模型代码部分分离到两个独立的项目之中,这样其它层就可以单独对模型进行引用,而不需要引用EF的其它部分。
技术实现思路
对于大规模的WEB应用,从规模上通过Area划分成小的单元,每个相当于独立的子系统,包含自己的Models、Views和Controller在内的目录结构和配置文件。本框架设计的UI层组织结构也是按此规则,建立了Admin、SellerAdmin以及Web三个区域并分别配置路由信息。本框架设计中使用AutoFac来实现IOC模式,所有服务层代码分成两个部分,一部分是接口,另一部分为实例,通常情况下,AutoFac需要通过配置文件指明实现类与接口之间的关系,而Himall中采用了默认配置的方式简化此操作,即按一定的规则编写接口和实现类就可以自动建立对应关系;IOC模式是目前常用的解耦方法之一,它能降低不同层级之间的的耦合度,使以前直接的实例之间的调用变更为对接口的调用,即上层不再依赖于具体实例而依赖于下层所提供的接口,此方式也属于面向接口编程,面向接口而非面向实例可以使程序更加稳定,不会因为实例中的方法修改导致上层代码的级联修改,只要接口不发生变化,则上层代码无需改变。数据层主要采用微软的EntityFramework(以下简称EF)做为ORM框架,不再有直接的SQL语句编写,使用分部类建立了与EF自建模型相对应模型文件。作为系统的最底层的核心层,不依赖于任何项目,与具体业务无关接口与方法的集合,定义和实现了相关机制,如异常处理、日志处理、定时任务、权限:1.定时任务机制:定时任务采用开源组件Quartz.Net,任务的实现代码必须继承于IJob接口,然后在配置文件中对任务的执行周期等参数进行配置,任务即会在指定的时间或周期自动执行;2.异常处理机制:异常处理机制终结于UI层,异常的终极处理采用AOP思想,将对异常处理的实现置于BaseController的OnException方法中,异常处理时,对于非继承于HimallException的异常将记录日志并返回友好错误消息,对于继承于HimallException的异常将直接返回基异常信息的具体内容;3.权限控制机制:权限控制机制采用AOP思想,在BaseAdminController和BaseSellerController中的OnAuthorization方法中统一处理,每个Action的权限均在对应的Action上进行标记;4.日志机制分为系统日志和操作日志:系统日志:采用开源日志组件Log4net,支持层级日志体系、可使用XML灵活的进行配置,本设计的系统日志分为三大级别:Info、Debug和Error,三个级别的日志分别通过配置文件写入不同的目录,各级别的日志按天分文件记录;日志的内容主要包括日志记录时的时间、调用日志的方法名、相关自定义日志信息、相关堆栈信息;在本系统中绝大部分写日志的行为都是自动进行的,凡继承于HimallException的异常均会自动记录日志信息,所有未经处理的非继承于系统的异常均会在BaseController中集中处理并记录日志;操作日志:操作日志的载体是数据库,系统中所有重要的操作通过Action上标记Attribute的方式进行记录,记录操作日志的过程是异步的,使得日志记录的过程不会影响到用户操作的响应速度;5.插件(策略)机制:核心层(Core)中对通用插件接口(IPlugin)进行了定义,所有具体业务插件接口都须要继承至Iplugin;本设计使用策略机制的主要是缓存,默认提供两套缓存机制的实现(Asp.net缓存与Memcached缓存),通过在Web.config中配置加载到系统中。本文档来自技高网...

【技术保护点】
一种多用户商城的系统构架设计,其特征在于:本系统构架包括表现层、服务层、数据层和核心层。

【技术特征摘要】
1.一种多用户商城的系统构架设计,其特征在于:本系统构架包括表现层、服务层、数据层和核心层。2.据权利要求1所述,表现层基于Area路由映射;服务层代码分为接口和实例两部分,...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:长沙海商网络技术有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1