重回故里 Java

不积跬步,无以至千里;不积小流,无以成江海
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MVC开发流程

Posted on 2009-03-09 23:26  .net 新生活 新旅程  阅读(343)  评论(1编辑  收藏  举报

以下转载:http://blog.miniasp.com/post/2009/01/ASPNET-MVC-Developer-Note-Part-1.aspx

我整理了一下最近的思緒,對於一個全新的 ASP.NET MVC 專案,應該會有以下流程:

  1. 準備好網站雛形頁面(Prototype)或所有網站之靜態版型頁面
    • 透過頁面元素進行資料來源分析
      • 設計資料庫結構、表格、欄位、關連
    • 分析出所有需要的 Controller, Model, View, MasterPage, UserControl, Html Helpers
      • 可於 Prototype 加註相關說明
  2. 資料庫必須先準備好
    • 需將表格、關連、檢視表、預儲程序都先建立好
    • 資料庫中最好包括測試資料,以方便套版測試之用
  3. 新增 ASP.NET MVC 專案
  4. 建立 Model ( LINQ to SQL )
    • 先透過 LINQ to SQL Designer 介面完成 ORM 物件對應
    • 再補充所有表格的 partial class 的撰寫,並將資料驗證與商業邏輯都加上
  5. 建立 Controller
    • 將共用的 Code 寫到 BaseController 去
      • 建立共用的 DataContext 物件
      • 各 ViewPage / ViewMasterPage / ViewUserControl 共用的 ViewData 物件
    • 再將原先規劃的 Controller 全部建立
    • 再將所有 Controller 應該出現的 Action 全部建立好
    • 適當的套用自訂 Action Filters,包括 HandleError, OutputCache, Authorize
    • 接著開始分工,將不同的 Controller 指派給不同的人進行開發
  6. 建立 View
    • 依照 Controller 的分工,各自將各自的 View 進行套版
    • 在套用 ASP.NET 內建的 SiteMap 時,要注意 securityTrimmingEnabled 屬性是不支援的,若選單會依據權限不同而顯示不同的選單項目,需自行修正。
      參考文章:Providing Website Navigation with SiteMaps
    • 盡可能的用 Strong-Typed 的方式開發,降低 Runtime Error 的風險
    • 適當的設定 web.config 預設匯入一些在 View 中常用的命名空間,例如:ProjectX.Models
      參考文章:ASP.NET 如何預設匯入指定的命名空間(Namespace)
    • 適當的將在不同頁面中重複出現的元素做成 User Control
    • 若輸出的資料包括特殊的表單元素時,建議做成 Html Helper 擴充方法,以簡化頁面邏輯!