广告:
MVC系统架构设计说明书
版本号:VO. 1
2010年10月 53bk.com
1.目的
本说明书的编写目的是描述MVC行业网站的MVC架构设计方案,包括网站的总体架构设计用使用的框架说明,以及基于该架构的开发流程,并作为指导开发人员、测试人员进行系统开发及测试的依据。
2.系统架构设计
整个软件架构方案采用分层、分布式的部署结构,明确地分离了表现层和业务逻辑,能够保证应用服务逻辑的一致性和稳定性、结构的开放性、功能的可扩展性和可维护性、开发的可并行性,同时采用一些开源的框架,兼顾了经济性。框架是一种特殊的软件,它为软件开发带来了高度的重用性,是无数软件开发人员的多年项目开发经验的总结。在一个优秀的框架上开发应用,而不是从零开始,可以大量缩短项目的开发周期、降低开发风险、增强应用程序的稳定性。
3.网站整体硬件布局图:
总后台(admin) 城市代理后台(cityadmin) 会员通行证—会员后台(member) 家具网总站 家具网城市分站 |
网站1:家具行业网
网站2:五金行业网
网站3:服装行业网
|
共享行业数据库
城市代理后台 五金行业网总站 五金行业网城市分站 |
服装网城市代理后台 服装网总站 服装网城市分站 |
(同一数据库)
说明:
4.系统架构设计图
用户:Web浏览器 |
表示层:MVC框架 |
业务层:Business |
数据访问层:DB |
|
数据库:SQL Server |
操作系统:windows server |
Common层:
cookie函数 图片处理 公共函数 |
Model类: ( 部分表需要写实体类 ) |
JDBC |
架构图如上图所示,共分六大层,其中MVC层又独立分出Controller层和View层,系统采用B/S架构模式。
为什么采用这样六层架构?
l 各层相互独立,做到数据安全,访问数据库需要经过中间层转换;
l 层与层之间松散耦合,增加代码重用率;
l 各层分工明确,这样等于团队的明确分工;
l 系统采用MVC框架,这是一种为大系统、团队合作而设计的框架,利于网站将来扩展与维护。
网站目录结构表:
/admin |
后台目录 |
|
/Cityadmin |
代理商(城市代理后台目录) |
|
/Views(前台) |
前台用户管理/member |
|
网站内容显示页 |
首页/main |
|
产品频道/product |
||
公司频道/company |
||
商机频道/business |
||
资讯频道/news |
||
市场频道/market |
||
/Contemt(图片内容) |
/Images(图片) |
|
/Css(网站样式) |
|
|
/Scripts(网站脚本) |
|
Web前台总体功能设计:
1. MVC框架
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
MVC (Modal View Controller),M是指数据模型,V是指用户界面,C则是控制器。
视图:是用户看到并与之交互的界面。
模型:表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器:接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。
2.Jquery框架(JS框架)
3.缓存机制
4.多图片上传
5.城市代理,每个城市用二级域名实现分站
6.同一行业网下不同分类对应不同产品属性
7.防死锁机制
在数据库系统中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死锁等待。防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法:一次封锁法,一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次封锁法虽然可以有效地防止死锁的发生,但由于扩大了加锁的范围,降低了系统的并发度;顺序封锁法,顺序封锁法是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序执行封锁。
在本系统中将定义一个数据库的访问顺序,并要求所有的事务都按照这个顺序访问操作数据库。
8.表单验证
对Web应用来说,由于用户的行为是无法预测的,在表单数据在传递给业务类之前,必须保证数据的合法性及有效性,而表单验证是保证数据合法性及有效性的重要手段。对于基于MVC框架的表单验证一般有两种方式:基于JavaScript的表单验证(前端验证)及基于MVC的表单验证(后端验证)。
前端验证:
可以针对基本类型(汉字、英文、整型、数字、日期、邮编)的有效性及合法性开发出一些共同JavaScript函数,以备整个系统统一调用。
后端验证:
主要采用基于WEBFORM的表单验证,通过ActionForm的validate函数进行验证。
由于前端难不需要提交服务器,直接在客户端完成,从而减少了服务器的压力,所以我们优先采用前端验证。
8.. 共同组件
一. 分页组件 二. FeiShare类库 三. 图像处理类 四. 链接函数
广告: