學習MVC之租房網站(一)-項目概況

來源:互聯網
上載者:User

標籤:steam   出租房   style   alt   通用   tool   原因   公眾號   view   

這兒的MVC是ASP.NET MVC,只用過C#一種語言,後面就直接稱呼為MVC了。

一年多沒接觸MVC後,現在想用MVC做個網站,覺得特別吃力,以前學的僅僅是皮毛,所以閑置了一年後,MVC知識就重新歸零了。

這幾周學習MVC的過程中,部落格園葡萄城的MVC匯總資源給了我很大的協助(http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html),尤其是“ASP.NET MVC 音樂市集”系列教程,學完音樂市集後,對Model-View-Controller有了基本的瞭解。但遺憾的是,關於EF Code First模式的使用,文章作者使用了DB Migration,還提供了一個非常龐大複雜的seed檔案,用來初始化資料庫,隨後全程就與資料庫沒什麼事了,這讓人在項目完成後,對資料庫部分仍然摸不著頭腦;還有就是關於使用者登入和許可權控制,作者使用了微軟提供的網站組態工具,就是下面這個

 

所以,關於許可權控制也是一處讓人困惑的地方。最要命的是,VS2017發布後,第一時間安裝了,但卻發現新版本取消了網站組態工具,而代之以“功能更加強大的”Authentication,下面就是了

 

試用後發現仍然是一頭霧水,怪只怪自己不會搞許可權控制唄,但不管是網站組態工具還是Authentication,這兩貨都絕對不會再用了。

 

為了繼續學習MVC,開始了租房網站的實踐。

 

網站介紹和具體功能

網站按慣例分為前台、後台兩部分,前台供使用者尋找待出租房子的資訊、預約看房;後台供管理員發布、管理房源資訊,進行使用者統一管理、許可權控制等操作

網站仍會使用EF與Code First,但不會執行DB Migration,關於資料庫的修改都要手動執行(這算什麼Code First)。

關於許可權控制,會使用高大上的RBAC許可權控制方式,哈哈,Role-Based-Access-Control,基於角色的許可權控制,說白了就是我們平時使用廣泛的許可權-角色-使用者體系了

還將實現日誌系統,對後台使用者的登入、修改操作以及整個網站的未處理異常進行記錄

 

項目結構

項目整體結構如下:

 

公用類庫提供一些前後台通用的方法,比如產生驗證碼、計算MD5等。

 

項目分層

MVC只針對UI層,從UI到資料庫仍要分層,但考慮到項目很小,如果用三層架構,BLL層發揮不了什麼作用,這次就讓這個悲催的二傳手先歇著了。省略BLL後,只有UI層和Service層了,如下:

 

但在Controller和Service直接增加了IService介面,這樣做除了顯得高大上,最重要的原因是為了學習IOC。DTO用於在Service和Controller之間傳遞資料。

 

好了,這是記錄租房網站的第一篇文章,也是開通這個公眾號後的第一篇文章。

受Yummy影響,也申請了公眾號。之前的部落格園已經荒廢,現在敲了區區幾百字後發現,寫點什麼東西的感覺真棒,以後但願能堅持足夠長的時間

 

部落格園:http://www.cnblogs.com/zhixin9001/

CSDN:http://blog.csdn.net/zhixin9001

 

學習MVC之租房網站(一)-項目概況

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.