evan93

1. 开发环境及项目框架介绍

2018-02-07 15:12  Evan  阅读(48)  评论(0编辑  收藏  举报

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

环境准备

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

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

还原数据库

除了各种软件,我们还需要准备开发使用的数据库,我们通过将数据库备份文件还原到本地即可,将备份文件下载到你的电脑上,例如 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<T> 来简化对数据库的操作,仓储类位于 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,我们在项目中还引入了形形色色的第三方类库,以及一些我们自己封装的,可以简化操作的类库。这里对第三方类库进行一些介绍。

数据库访问:

前端展现:

依赖注入:

验证:

类型映射:

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

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

分类:

技术点:

相关文章:

  • 2021-12-11
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2021-06-28
  • 2022-01-08
  • 2021-05-12
猜你喜欢
  • 2022-01-01
  • 2021-11-11
  • 2021-07-29
  • 2021-08-10
相关资源
相似解决方案