作者:黑马@梦想 | 来源:互联网 | 2023-06-03 11:01
1.首先新建一个名为"ExtJS5Example2"的solution(解决方法),Location:自定义存放路径,Name:是当前被创建的应用程序的名字,命名为ExtJS5Ex
1.首先新建一个名为"ExtJS5Example2"的solution(解决方法),Location:自定义存放路径,Name:是当前被创建的应用程序的名字,命名为ExtJS5Example2.Mvc.Web,选择Visual ->Web->Asp.Net MVC4 Web Application的模板,点击"OK"按钮
需要注意的是:"solution Name"和"Name"差别很大,前者生成出来的文件是以".sln"结尾的,后者是以".csproj"结尾的,前者包括后者
选择Basic(基础的)的MVC4模板,
2.生成了如下的项目
3.本实例是一个三层架构的系统,除了步骤2中的web Application,我们还需要创建业务逻辑层和数据访问层
数据访问层需要创建一个ExtJS5Example2.IDal的接口和实现该接口的ExtJS5Example2.Dal
业务逻辑层Bll同样分为接口类和实现类
<1>在solution上右击-Add-New Project,打开如下页面,选择“Class Library”(类库),Name:输入“ExtJS5Example2.Bll”,
Class Library(类库):是一个综合性的面向对象的可重用类型集合,这些类型包括:接口、抽象类和具体类,在我们这个项目中除了"ExtJS5Example2.Mvc.Web"是一个ASP.NET Web Application,其他的project均为Class Library类型的project
Bll层:业务逻辑层,主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
Dal层:.数据访问层(DAL - Data Access Layer),主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
<2>按照<1>的操作再创建Dal层,IBll层和IDal层,如下图
4.MVC:全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
在我们这个例子中ExtJS5Example2.Mvc.Web是视图(View),因此我们还缺模型(model)和控制器(controller)
按照步骤3的<1>继续添加Controller和Model
5.以上7个project 基本满足这个项目的需求,但是呢,在实际应用中很多项目里面都会再加一个名为Framework的Project和名为Framework的物理文件夹,前者用来存放一些通用方法或者是扩展方法,后者则是存放一些被引用的dll文件
<1>因此我们需要按照步骤3的<1>继续添加ExtJS5Example2.Framework
<2>在solution上右击选择"Open folder in windows explorer",打开项目文件所在路径之后,新建一个名为Framework的物理文件夹,如下图,这个文件夹用来存放所有的被引用的dll文件
<3>在solution上右击“Add”,选择“New Solution Folder”,并将其重命名为“Framework”,需要注意的一点是这个文件夹是不会生成对应的物理文件夹的,所以我们在我们后面的编程中我们需要将<2>的物理路径中Framework文件夹中的dll文件添加至项目中
6至此,我们这个项目的整体结构就搭建出来了
首先,大体上来看这是一个三层架构的系统
ExtJS5Example2.Bll是业务逻辑层,处理业务的核心
ExtJS5Example2.Dal是数据访问层,对数据库进行增删改查,
ExtJS5Example2.Mvc.Web是界面层
其二,该项目按照MVC的模式来设计的
ExtJS5Example2.Mvc.Web是View(视图),用于显示数据
ExtJS5Example2.Model是Model(模型),本例中model的定义用于存放实体类
ExtJS5Example2.Mvc.Controllers是Controller(控制器) 处理简单的逻辑,用于连接Web层和Bll层,处理业务的核心还是在Bll层中进行
其三:ExtJS5Example2.Framework这个Project 用于存放整个项目中一些公用的方法和扩展方法,同时在下面的介绍中我们会将Spring.Net的一些配置文件和StringResource.resx文件放在其中,Framework文件夹和物理路径上的Framework文件夹本质上是没有关联的,我们只不过是将物理路径里面的dll文件加入到这个文件夹中而已。
其四:本例中很好地将MVC和三层架构很好的结合了起来,数据流向是按照Web->Controller->Bll->Dal->Sql Server(数据库)->Dal->Bll->Controller->View传递的,每一层的功能分得特别的清晰,方便维护