余佳恕
(廣東技術師范大學教育科學與技術學院,廣東 廣州510450)
近年來,互聯網行業的高速發展,網站需求日趨多樣,開發技術不斷更新換代,網站框架技術的應用也十分廣泛。比如網站前端常用的框架:Angular、React、MVVM模式的Vue 等;網站后端根據不同開發語言有不同的框架,比如Mybasic、Spring MVC、ThinkPHP 等。Asp.net 語言則一般采用ASP.NET MVC 或ASP.NET Core 框架。這些開源的框架,都是為了更加有效地提升我們網站建設的效率。通用的網站框架都有一個共同的特點,就是簡單、高效、靈活,這極大的提高了我們的開發效率。一般的網站框架是實現某種功能的半成品,提供了一些常用的工具類和一些基礎通用化的組件,可以供開發人員在此基礎上,更高效的滿足各自的業務需求。本文闡述了一個基于ASP.NET MVC 與MVVM技術的小型網站框架開發與應用,該小型網站框架可應用于不用行業的網站,例如公司官網、教育機構網站、學校網站、學習平臺等。目前該網站框架已開發出不同的功能模塊,實現業務的時候只需要調用起來即可,另外,提供了眾多的可擴展API,可以用于二次開發。
MVVM 是Model-View-ViewModel 的簡寫[1],它是一種基于前端開發的架構模式,十分契合當今Web 前端開發的需求。我們先來理解它的核心思想,MVVM 核心是提供對View 和ViewModel 的雙向數據綁定,這使得ViewModel 的狀態改變可以自動傳遞給View,即所謂的數據雙向綁定[2]。那么,什么是MVVM呢?在MVVM設計模式下,View和Model 之間其實并沒有直接的聯系,而是通過ViewModel 進行交互,Model 和ViewModel 之間的交互是雙向的因此View 數據的變化會同步到Model 中,而Model 數據的變化也會立即反應到View 上。Model 層代表數據模型,也可以在Model 中定義數據修改和操作的業務邏輯;View 代表UI 組件,它負責將數據模型轉化成UI 展現出來,ViewModel 是一個同步View和Model 的對象。我們可以通過它的技術模型來理解它們三者的關系,它的設計模型如圖1 所示。
ASP.NET MVC 是微軟公司所開發MVC 模式的ASP.NET Web 應用程序框架[3],是網站開發框架的一種結構體系。ASP.NET 開發的Web 程序,通過系統化的調試以及測試后,就可以將其部署在IIS 服務器程序,用戶通過互聯網訪問。它十分易于開發,使得測試更加快速和簡捷。先分別來理解它的模型、視圖、控制器三層:Model(模型)表示應用程序核心(數據庫記錄列表);View(視圖)顯示數據(數據庫記錄);Controller(控制器)處理輸入(寫入數據庫記錄)[4]。它分離了顯示模塊與功能模塊,提高了程序的可維護性、可移植性、可擴展性與可重用性[5],降低了程序的開發難度。MVC 各部分關系如圖所示:

圖1 MVVM 設計模式的技術模型

圖2 MVC 各部分關系圖
該網站框架是采用SQL server 2014 數據庫,它具有可伸縮性好、使用方便、與相關軟件集成程度高等優點[6]。這里根據不同的功能模塊需求進行數據表的設計,通用功能部分為用戶表、文章表、欄目表、文件資源表以及系統日志表;業務與擴展模塊的數據表設計我們根據實際情況進行擴展設計,以便用于業務功能二次開發,這里不一一列舉。
該框架是基于B/S 結構,具有一定的安全性、穩定性、靈活變化。網站框架功能結構是根據不同模塊進行模塊化開發的,主要分為用戶管理、文章管理、欄目管理、文件管理、系統信息與安全管理5 個通用模塊以及業務與擴展1 個延伸模塊組成。圖3 是網站框架主要功能模塊結構圖。

圖3 網站框架主要功能模塊結構圖
(1)用戶管理模塊:該模塊包括使用權限與個人信息兩部分,包括用戶的添加、修改、刪除、激活、禁用、調動和密碼初始化、個人信息修改等。不同用戶有不同的功能,這里按照權限最小化、功能獨立化的原則,其中管理員擁有最高權限。
(2)文章管理模塊:該模塊包括類別、通知公告、留言、評論、關鍵字查詢等文章內容的管理,用戶可以在這里添加、修改、刪除、審核、查詢文章等。
(3)欄目管理模塊:該模塊的功能有欄目的新增、刪除、審核、轉移、修改、合并、置頂、顯示/隱藏欄目等操作,網站首頁的二級菜單欄以及網站的各個欄目板塊都可以在這里設置。
(4)文件管理模塊:該模塊包括網站所有文件資源的增刪改查功能,用戶上傳的附件是分類別進行管理的;用戶在進行操作時也可以選擇好已上傳的附件等。
(5)系統信息與安全管理模塊:該模塊可以修改網站名稱、風格、端口、FTP 的目錄、郵件服務器等。安全管理功能是指用戶的登錄記錄、操作操作等都會被自動記錄到系統安全日志表。同時密碼采用md5 加密技術;單點登錄以及限制登錄次數;同時登錄驗證的時候支持帳號密碼、驗證碼、密保問題、綁定數字證書證書四道安全程序。
(6)業務與擴展開發模塊:該模塊該小型網站框架最具特色的地方,除了通用的網站管理功能之外,并且可以對系統進行業務擴展開發。針對不用的需求,制定不同業務邏輯。在后臺通過添加數據表表、數據段,然后進行其他功能業務的擴展。當然,這需要進行二次開發來完善的,這部分功能只提供了擴展接口。
該網站框架具有以下特點:(1)代碼模板化,公共創建公共類、接口實現。(2)重用性、通用性。不分行業,只要功能相似就可以稍加修改即可使用(3)高內聚,框架各種基礎的功能都封裝好了,只需要在使用的時候調用就可以。(4)支持擴展開發。以下是利用該網站框架進行二次開發、自主完善的網站系統具體應用:某小型公司展示網站與某小型學習平臺的后臺管理系統。

圖4 網站框架實例應用一

圖5 網站框架實例應用二
該網站框架對使用者功能結構一目了然,可使用不同的功能模塊。如果有其他需求,可根據具體業務邏輯進行二次開發。這是該網站框架開發最具特色的地方,合理運用好框架才能夠更好的將其優勢發揮出來。同時也是有利也有弊,有時候框架中會有很多根本用不到的功能模塊的代碼,存在局限性。總的來說,基于ASP.NET MVC 與MVVM技術的小型網站框架開發及應用是以Web 程序員編程思維為基準去考慮的。通過開發出一個結構清晰、層次分明、模塊化的小型網站框架。為網站開發人員提供了這樣一個小框架,促使網站在開發技術上更快速與高效,對互聯網行業也有一定的使用價值與意義。