MVC模式与三层架构结合.docx

MVC模式与三层架构结合.docx

ID:51673772

大小:113.75 KB

页数:4页

时间:2020-03-14

MVC模式与三层架构结合.docx_第1页
MVC模式与三层架构结合.docx_第2页
MVC模式与三层架构结合.docx_第3页
MVC模式与三层架构结合.docx_第4页
资源描述:

《MVC模式与三层架构结合.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MVC模式与三层架构结合经过老师与同学们的长期讨论,我们决定在项目的开发过程中应用MVC模式与三层架构结合的方式来实现我们架构的设计。这样种有两个好处:首先是可以实现多个视图,为我们开发不同的视图提供了很大的便利,使得我们在完成Web设计后没有必要在去设计Wap,减少了部分工作量;其次是运用三层架构,使结构层次清晰,各层之间能够并行设计;最后是采用这样的设计方式可以增加我们代码的重用性,减少耦合。一、MVC模式和三层架构MVC模式包括三个部分,即模型(Model)、视图(View)和控制(Controller),分别对应于内部数据、数据表示和输入/输出

2、控制部分。MVC模式的一般结构如图1所示。图1.MVC模式各部分的关系和功能MVC设计模式从早期的客户/服务器应用发展而来,因此,它采用的是两层架构设计。但由于三层架构是对两层架构的延伸,所以还是可以将MVC应用于三层架构的Web应用中。MVC与三层架构相互结合补充,已经成为Web应用开发的重要模式。MVC模式与三层架构设计之间的关系如图2所示。图2.MVC模式与三层架构之间的关系二、架构设计这里的架构设计与上次的三层架构概要设计大体类似,唯一不同的在于表示层。在这里我们将表示层分为了视图与控制器。其中视图完成页面的显示功能,而控制器主要完成视图与表示

3、层逻辑的分离,拦截用户请求,组合模型与视图并返回相应视图给用户。模块划分及交互设计根据前面的讨论以及上次的架构概要设计文档,可在宏观上将整个系统分为以下几个模块:实体类模块——一组实体类的集合,负责整个系统中数据的封装及传递。数据访问层接口族——一组接口的集合,表示数据访问层的接口。数据访问层模块——一组类的集合,完成数据访问层的具体功能,实现数据访问层接口族。业务逻辑层模块——一组类的集合,完成业务逻辑层的具体功能,实现业务逻辑层接口族。虚拟工厂模块——生成数据访问层实例辅助类模块——完成全局辅助性功能。视图模块——完成整个系统页面的显示,以及系统与

4、用户的交互工作控制器模块——完成视图与表示层逻辑的分离,拦截用户请求,组合模型与视图并返回相应视图给用户各模块间交互关系如下图3.各模块之间的关系根据以上分析大体可以得出系统将涉及到的项目:ØWeb——完成视图与控制器的实现ØEntity——存放实体类ØFactory——虚拟工厂模式的实现,完成访问层对象接口实例的生成ØIDAL——存放数据访问层接口族ØUtility——存放各种工具类及辅助类ØDAL——数据访问层的实现ØBLL——业务逻辑层的实现一、实体类设计实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。在

5、项目中我们的实体类与数据库中的数据表一一对应,并且实体类中的属性和表中的字段也是对应的。系统中涉及到的实体类大致如下:个人用户、企业用户、留言、评论、商品、购物车、订单、普通资讯、行业资讯、产品、超级管理员、管理员、管理员类别、管理员与管理员类别关系类、广告等。其中商品还涉及到商品类型:包括大类和小类;企业用户涉及到企业性质;普通资讯涉及到资讯类别;行业资讯涉及到行业资讯类别;产品涉及到产品的大类与小类。在实体类设计的时候,我们需要为实体的各字段生成相应的属性,必须主意各实体之间的关联。一、数据访问层接口设计在分层架构中,接口扮演着非常重要的角色,它不

6、但直接决定了各层中的各个操作类需要实现何种操作,而且它明确了各个层次的职责。接口也是系统实现依赖注入机制不可缺少的部分。本项目的接口设计将按如下顺序进行:1.首先由前文的需求分析,列出主要的UI部分。2.分析各个UI需要什么业务逻辑支持,从而确定业务逻辑操作。3.分析业务逻辑层需要何种数据访问操作,从而确定数据访问层接口。另外,为保证完全的面向对象特性,接口之间的数据传递主要靠实体类或实体类集合,禁止使用DataTable等对象传递数据。由需求分析,可以得出用户界面(UI),在由UI可以识别业务逻辑操作,通过业务逻辑操作,我们可以得出相应的接口。具体所

7、涉及到的数据访问层的接口,这里就不在叙述了。另外,个人觉得由于业务逻辑层的操作比较单一,主要是从数据访问层返回数据访问层的操作结果,所以在项目中不在添加业务逻辑层接口。二、虚拟工厂模式设计为了减少工作量,实现简单的依赖关系,在业务逻辑层与数据访问层之间添加一个简单的工厂来生成数据访问层实例。具体工厂的生成方式非常简单,就是添加一个路径属性,在配置文件中把需要用到的访问层实现添加到路径中。然后对每个接口对象生成实例并返回给业务逻辑层。三、数据访问层的设计在项目中我打算采用LINQ方式实现数据库的访问,主要原因是这种方式容易上手,为我们减少了不少的工作量。

8、大体实现方式如下:首先是根据数据表中的内容生成一个LINQ的上下文环境类;其次是根据数据访问层

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。