MVC系列部落格之排球計分(八)總結

2022-03-08 11:18:17 字數 1303 閱讀 1262

總結:

完成這個程式大約用了半個月時間,期間遇到了很多問題,也很難受,學了好久,還是不太會。自己親手做了這個程式,對controller和view的關係理解的很好了。

在這個過程中還存在著一些問題,比如razor語法不太懂,還有就是遇到了錯誤,自己不知道怎麼解決。

另外就是mvc確實比webform好用一些。至少在我看來,mvc有以下優點:

大部分用過程語言比如asp、php開發出來的web應用,初始的開發模板就是混合層的資料程式設計。例如,直接向資料庫傳送請求並用html顯示,開發速度往往比較快,但由於資料頁面的分離不是很直接,因而很難體現出業務模型的樣子或者模型的重用性。產品設計彈性力度很小,很難滿足使用者的變化性需求。mvc要求對應用分層,雖然要花費額外的工作,但產品的結構清晰,產品的應用通過模型可以得到更好地體現。

首先,最重要的是應該有多個檢視對應乙個模型的能力。在目前使用者需求的快速變化下,可能有多種方式訪問應用的要求。例如,訂單模型可能有本系統的訂單,也有網上訂單,或者其他系統的訂單,但對於訂單的處理都是一樣,也就是說訂單的處理是一致的。按mvc設計模式,乙個訂單模型以及多個檢視即可解決問題。這樣減少了**的複製,即減少了**的維護量,一旦模型發生改變,也易於維護。 其次,由於模型返回的資料不帶任何顯示格式,因而這些模型也可直接應用於介面的使用。

再次,由於乙個應用被分離為三層,因此有時改變其中的一層就能滿足應用的改變。乙個應用的業務流程或者業務規則的改變只需改動mvc的模型層。

控制層的概念也很有效,由於它把不同的模型和不同的檢視組合在一起完成不同的請求,因此,控制層可以說是包含了使用者請求許可權的概念。

最後,它還有利於軟體工程化管理。由於不同的層各司其職,每一層不同的應用具有某些相同的特徵,有利於通過工程化、工具化產生管理程式**。

但與此同時,mvc也暴露出一些缺點:

(1)增加了系統結構和實現的複雜性。對於簡單的介面,嚴格遵循mvc,使模型、檢視與控制器分離,會增加結構的複雜性,並可能產生過多的更新操作,降低執行效率。

(2)檢視與控制器間的過於緊密的連線。檢視與控制器是相互分離,但確實聯絡緊密的部件,檢視沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。

(3)檢視對模型資料的低效率訪問。依據模型操作介面的不同,檢視可能需要多次呼叫才能獲得足夠的顯示資料。對未變化資料的不必要的頻繁訪問,也將損害操作效能。

(4) 目前,一般高階的介面工具或構造器不支援mvc架構。改造這些工具以適應mvc需要和建立分離的部件的代價是很高的,從而造成使用mvc的困難

當然,這些並不是不能克服的,我覺得只要提高你的**水平,熟悉工具的使用,這樣才能更好的寫出好的**。最後說一句,願你的努力都會有回報。

MVC系列部落格之排球計分(一)需求分析

專案簡介 這是mvc系列部落格之排球計分程式,該程式可以是對教練或者裁判使用的,讓教練有許可權對隊員進行查詢得分情況,讓教練對隊員的優勢劣勢進行了解,以便對隊伍進行調整。讓裁判更好的判定比賽輸贏。需求分析 作為一名排球教練,我需要統計對方球隊的隊員資訊,得分情況,技能得分,以便能做出針對性的訓練。進...

MVC系列部落格之排球計分(七)具體實現

前幾篇已經講了程式的大概實現,現在具體來實現 開啟visual studio2015,點選新建專案,命名volleyball 點選確定 然後新增乙個coachcontroller和refreecontroller,如下 新增兩個模型類 點選models,右鍵單擊新增類,score.cs和player...

MVC系列部落格之排球計分(三)模型類的實現

最初我使用的是連線資料庫的方法來建立資料連線的,後來聽了同學用ef框架來生成資料庫自動連線,感覺很好用,然後我就重新用ef框架生成資料庫 使用ef框架生成資料庫,要有相應的模型類,模型類如下 public int id displayname 球員編號 public string name disp...