ASP.NET沒有魔法——ASP.NET MVC & 分層 代碼篇


  上一篇文章對如何規范使用ASP.NET進行了介紹,本章內容將根據上一篇得出的結論來修改博客應用的代碼。

代碼分層

  綜合考慮將博客應用代碼分為以下幾個層次:

  ○ 模型:代表應用程序中的數據模型,與數據庫表結構對應。同時也作為MVC與邏輯層之間的數據交換對象(后續會使用DTO代替)。
  ○ 倉儲:用於管理數據增、刪、查、改。
  ○ 邏輯:用於處理業務邏輯,一般來說是根據應用層提供的數據來驅動業務執行,業務邏輯會使用倉儲來對數據持久化。
  ○ 應用:也就是MVC應用,它為用戶提供操作界面(UI),然后調用邏輯來完成業務。

 

為模型、倉儲和邏輯創建類庫項目

  1. 使用VS2017創建3個類庫項目,分別是BlogBusinessLogic、BlogModel、BlogRepository:

  

  它們之間的依賴關系如下:

  

  2. 將My Blog的Post類轉移到BlogModel中(復制的時候應注意命名空間):

   

  

  3. 創建Blog倉儲(這里仍然使用靜態列表來表示一個數據源):

  

    

  4. 創建BlogManager作為一個簡單的業務邏輯管理者:

   

  5. 在MVC中定義視圖模型,用於顯示:

  文章詳情模型:

   

  文章列表模型:

  

  6. 在Controller中使用BlogManager:

  

  

  7. 修改頁面,使用Model來渲染頁面:

  

  

  8. 運行結果,仍然和之前一致:

  

  

小結

  本章僅僅是根據上一篇的分析對原有的MVC應用進行了拆分,拆分的目的是將關注點分離,便於代碼的管理和維護。需要注意的是從拆分的代碼中可以看到從MVC調用邏輯層的獲取文章列表、信息方法與邏輯層調用倉儲層的方法基本一致,並沒有額外的邏輯加入,這是因為現在的業務邏輯相對簡單,而並不是無用的。

   

本文地址:http://www.cnblogs.com/selimsong/p/7650179.html 

ASP.NET沒有魔法——目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM