宋相陽 王曉紅
【摘要】本文以新聞發布系統為實例,介紹了MVC設計模式在B/S結構系統中的應用。通過運用MVC設計模式,大大提高了新聞發布系統的開發效率,實現了新聞數據展示和新聞數據控制的分離,降低了系統模塊之間的耦合性,使系統結構更加合理。尤其是在團隊合作時,有利于團隊分工合作,提高系統的開發效率和質量,也有利于系統的后期維護。
【關鍵詞】新聞發布系統 B/S結構 MVC設計模式
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2018)27-0253-01
前言
在互聯網高速發展的今天,網絡成為了新聞信息傳播的主流,而一個良好的新聞發布系統對新聞的傳播起到了至關重要的作用。本文就是借鑒徐麗妹等人開發的基于MVC設計模式的音樂檢測系統[1],將MVC設計模式應用到新聞發布系統的設計中來,利用MVC設計模式的優點,以期達到快速開發,提高新聞發布系統的開發效率和開發質量。
一、MVC設計模式
(一)MVC簡介
MVC是一種軟件設計模式,被軟件開發者廣泛使用,它把一個應用系統的組成分解成模型(Model)、視圖(View)、控制器(Controller)三個部件。模型是應用程序用來處理數據邏輯的部分。視圖是應用程序中處理數據顯示的部分。控制器是應用程序中處理用戶和視圖交互的部分。
(二)MVC設計模式的優點
從以往的ASP.NET應用開發和使用MVC設計模式進行開發相對比,MVC設計模式可以將用戶界面和模型進行分離,降低了系統模塊間的耦合性。同時,一個模型可以對應多個視圖,一個視圖也可以對應多個模型,提高了代碼的重用率,減少了代碼的數量,提高了開發效率[2]。而控制器是視圖和模型的橋梁,控制器將不同的視圖和不同的模型連接起來,完成不同的請求,便于系統開發不同的功能。
二、基于MVC設計模式的新聞發布系統的設計
(一)系統設計需求
本系統將用戶分為三類:新聞發布者、新聞瀏覽者、新聞網站管理者[3]。新聞發布者能夠通過本系統對新聞進行可視化編輯并進行發布;新聞瀏覽者可以實時地對新聞進行在線瀏覽和相關附件的下載;新聞網站管理者能夠對新聞發布者和新聞信息進行相關的增刪查改操作,同時,也能夠對網站首頁的輪播圖進行更換。
(二)數據流圖
數據流圖從數據傳遞和加工的角度,以圖形的方式來表達系統的邏輯功能、數據在系統內部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。
(三)數據庫設計
通過對用戶進行需求分析,我們可以得到新聞發布系統的需求。在此基礎上,設計的數據庫包含的數據表有 :新聞網站管理者信息表Administrators,新聞發布者信息表UserTable,新聞信息表NewsTable,新聞圖片信息表ImageUrl。
(四)系統結構設計
本新聞發布系統是一個B/S結構的應用。借鑒張式福等人設計的健康監護管理系統[4],在本應用系統中,使用HTTP協議的請求與響應來實現MVC設計模式,是一個很好的選擇。數據庫用來存儲數據,模型(Model)用來進行新聞和用戶數據邏輯的處理,控制器(Controller)用來處理新聞界面和系統用戶交互,視圖(View)用來將新聞信息展示到瀏覽器上,供用戶瀏覽。
三、基于MVC設計模式的新聞發布系統的實現
MVC設計模式應用于整個新聞發布系統的設計過程。在系統結構的View層中,實現了網站瀏覽中心、網站管理中心和新聞發布中心界面的設計。Model層存儲了各種信息的結構;數據庫存儲了發布的新聞信息。在Controller層,實現了對新聞實行增刪查改的操作,通過Controller層,將用戶和視圖的交互連接了起來,實現了系統與用戶的交互,滿足了用戶的需求。
結語
本文介紹了基于MVC設計模式的新聞發布系統的設計與實現。在新聞發布系統中應用MVC設計模式,使前端代碼和后端代碼分離,提高了代碼的重用率,進而提高了系統的開發效率。同時,由于MVC設計模式降低了模塊之間的耦合性,使系統結構更加清晰,方便了后期的系統維護和升級。
參考文獻:
[1]徐麗妹,何佳奕,田欣明.基于MVC設計模式的音樂監測系統的設計與實現[J].藝術科技,2013(04):25+42.
[2]宮禹,蘇丹.MVC設計模式在Web開發中的研究與應用[J].哈爾濱師范大學自然科學學報,2015(04):62-64.
[3]丁晟春,王曰芬.網站新聞發布管理系統的設計與應用[J].現代圖書情報技術,2002(05):43-45+34.
[4]張式富,姜濤,吳效明.基于B/S的智慧社區健康監護管理系統軟件的設計與實現[J].計算機應用與軟件,2014(03):4-6.
作者簡介:
宋相陽(1996-)男,漢族,河南省三門峽人,本科,研究方向:GIS系統設計與開發。
王曉紅(1982.5-),女,漢族,河北黃驊人,博士,講師,研究方向:基于3S的林業有害生物監測與生態調控,GIS系統設計與開發。