开发环境及项目框架介绍

本系列文档将向大家介绍我们 ASP.NET MVC 项目框架,并一步步指导大家如何创建列表、添加、修改页面和实现带有查询功能的列表页

环境准备

我们的项目采用 .NET 平台的技术进行开发,需要事先安装好开发环境。

  • IDE:采用 Visual Studio 2015 或更高版本进行开发,在安装 Visual Studio 时,所需的一部分环境会自动安装上,比如 .NET Framework
  • Database:项目最低要求 SQL Server 2008 R2
  • 代码管理:Subversion,请参阅 wiki:SubversionGuide
  • 浏览器:进行 Web 站点的开发浏览器是必不可少的,本文档将使用 Google Chrome 浏览器

上述软件在大连服务器的 \\shiji-server\share\Software\Development 上提供,复制这段地址并粘贴到资源管理器的地址栏中进行访问。

还原数据库

除了各种软件,我们还需要准备开发使用的数据库,我们通过将数据库备份文件还原到本地即可,数据库备份文件提供在 \\shiji-server\share\db_backup 里,将备份文件下载到你的电脑上,例如D:\backup
首先查看备份文件中都有哪些文件

-- disk 后面是你下载到自己电脑上的备份文件的路径
restore filelistonly from disk = 'D:\backup\ecrs20160913.bak'

可以看到备份文件中有三个文件,分别是ECRSECRS01ECRS_log,执行下面的 SQL 将这三个文件还原到本地:

use master
-- 此处的 ECRS_20170124 是还原后数据库的名字
restore database ECRS_20170124
-- disk 之后仍然是下载到本地后的备份文件的路径
from disk = 'D:\Data\ecrs20151218.bak'
-- to 之后是还原后文件存放的路径
with move 'ECRS' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS.mdf',
    move 'ECRS01' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS01.mdf',
    move 'ECRS_log' to 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ECRS_log.ldf',
STATS = 10, REPLACE

执行后稍等片刻,在你本地就有了我们开发用的数据库。

框架概览

将 KunlunCCM 下载到本地后通过 Visual Studio 打开 KunlunCCM.sln 解决方案文件,可以看到下图所示的结构

我们的项目可以分为三大部分:

  • Libraries 类库层
  • Presentation 表现层
  • Tests 单元测试

每个部分通过文件夹划分,每个文件夹中又有一些项目。

类库层

Libraries 目录下存放了有关实体类定义、数据库操作、业务逻辑操作等相关的所有类库。

  • Core 核心类层:这里存放了与项目有关的最核心的类定义,包括缓存、异常、实体类等等。我们操作数据库时,需要将数据库中的表,映射到类上,这些类称为实体类,存放在 Core 项目的 Domain 文件夹下
  • Data 数据访问层:这里存放了操作数据库的类,以及实体类与数据库表的映射规则,这些映射规则存放在 Mapping 文件夹下
  • Services 业务逻辑层:显而易见,这里就是具体的业务逻辑的实现了

将数据库中的表(关系),映射到我们创建的类(对象)上,这种技术称之为对象关系映射,英文名称叫做 ORM(Object Relation Mapping)。我们通过 Entity Framework(简称EF) 或者 Dapper 来实现这一功能,它们都是第三方类库。Dapper 需要我们自己编写 SQL 语句,而 Entity Framework 可以自动生成 SQL 语句。使用 Entity Framework 时,我们通过仓储类Repository 来简化对数据库的操作,仓储类位于 Data 项目中。
本系列文章将采用 Entity Framework 进行数据库操作。

表现层

  • Web 视图层:这就是我们的 ASP.NET MVC 项目,用户看到的页面来自于这里
  • Web.Framework Web 架构层:封装了很多对项目有用的东西,例如我们网站首次启动的逻辑代码、Web工作上下文对象(可以获取当前登陆的用户等信息)、各种 MVC 过滤器等等。这个项目可以日后再深入了解

ASP.NET MVC 项目大家想必已经了解了,MVC 代表 Model-View-Controller 模式。在 ASP.NET MVC 中,我们在 View 里编写用于呈现的页面,在 Controller 中编写每个页面对应的后台代码,在 Model 中编写类作为页面数据的载体。
经过类库层的介绍,我们知道 Service 项目有所有业务逻辑的实现,所以我们的 Controller 只需要去调用相应的 Service 方法即可,而不应该把业务逻辑写在 Controller 中。这种思想,称之为职责分离,控制器专注于为视图准备数据,Service 则专注于业务逻辑。

单元测试

本系列文档中不涉及单元测试相关的内容。

第三方类库

前面简要的提到了 ORM 类库 EF 和 Dapper,我们在项目中还引入了形形色色的第三方类库,以及一些我们自己封装的,可以简化操作的类库。这里对第三方类库进行一些介绍。

数据库访问:

  • Entity Framework
  • Dapper

前端展现:

  • ASP.NET MVC
  • jQuery
  • Bootstrap
  • AdminLTE 一个 Bootstrap 主题
  • DataTables.js 用于在网页上展现表格的插件
  • KendoUI Core 强大的前端控件,提供了日期选择器、下拉菜单、数字输入框等常用控件

依赖注入:

  • AutoFac

验证:

  • jQuery Validation 前端验证插件
  • Fluent Validation MVC端的验证类库,可以实现前台和后台验证

类型映射:

  • Auto Mapper 可以将一个类变成另一个类,注意这个并不是数据库到实体类的映射

关于第三方类库,可以先看一下官方提供的文档中的介绍,后面的项目中会详细说明。
从下一节开始,我们就着手进行开发了,请拭目以待。


你可能感兴趣的:(C#)