1. 程式人生 > >開發環境及專案框架介紹

開發環境及專案框架介紹

本系列文件將向大家介紹我們 ASP.NET MVC 專案框架,並一步步指導大家如何建立列表、新增、修改頁面和實現帶有查詢功能的列表頁

環境準備

我們的專案採用 .NET 平臺的技術進行開發,需要事先安裝好開發環境。

  • IDE:採用 Visual Studio 2015 或更高版本進行開發,在安裝 Visual Studio 時,所需的一部分環境會自動安裝上,比如 .NET Framework
  • Database:專案最低要求 SQL Server 2008 R2
  • 瀏覽器:進行 Web 站點的開發瀏覽器是必不可少的,本文件將使用 Google Chrome 瀏覽器

還原資料庫

除了各種軟體,我們還需要準備開發使用的資料庫,我們通過將資料庫備份檔案還原到本地即可,資料庫備份檔案提供在 \\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 解決方案檔案,可以看到下圖所示的結構
https://dev.shijinet.cn/trac/Kunlun/raw-attachment/wiki/bill.nong/blog/20170307172645/Framework%20of%20KunlunCCM.png
我們的專案可以分為三大部分:

  • 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 可以將一個類變成另一個類,注意這個並不是資料庫到實體類的對映

關於第三方類庫,可以先看一下官方提供的文件中的介紹,後面的專案中會詳細說明。
從下一節開始,我們就著手進行開發了,請拭目以待。