ASP.NET MVC 開發心得分享 (1):開發流程篇

分享到噗浪!

終於在這次春節長假開始有時間研究 ASP.NET MVC,雖然我在之前已經將所有 ASP.NET MVC Tutorials 文件看完了,也看懂了,但說實在的,自己開始「動手」寫的時候,還是一樣「很卡」,非常的不順手,文件、範例程式一樣到處翻,好在我平時有整理學習資料的習慣,資料找起來有比較順手一些,建議各位在研發時一定要有做筆記的習慣。

我整理了一下最近的思緒,對於一個全新的 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 擴充方法,以簡化頁面邏輯!

這些流程日後應該會再補充,我會更新在同一篇文章內。

  

此文章由 will 發表於 2009/1/29 上午 12:33:24

永久連結 | 評論 (9) | 此文章的RSSRSS comment feed |

分類: ASP.NET MVC

標籤:

評論

一月 29. 2009 16:32

WizardWu

過年期間出了 RC1,
但聽對岸網絡說還有些 bug,
過陣子聽說要出正式版了,
對岸blog和論壇一堆人在討論。

WizardWu 台灣

一月 30. 2009 00:42

Will

WizardWu,
有機會分享一些你知道的相關網址給我吧, Thanks! ^_^

Will 台灣

一月 30. 2009 19:02

WizardWu

去年三月時,小弟裝過 ASP.NET 3.5 Extensions Preview 來玩,
不過因為無法裝在中文版 vs 2008 上,mvc 又一直很久都未出正式版,
公司不可能套用,所以就不玩了。

www.cnblogs.com/.../mvcrc_update.html
www.cnblogs.com/.../1381195.html
www.cnblogs.com/.../1381183.html

WizardWu 台灣

一月 31. 2009 00:45

Will

Controls Collection Cannot Be Modified Issue with ASP.NET MVC RC1
haacked.com/.../...issue-with-asp.net-mvc-rc1.aspx

Haacked 說的問題在 ASP.NET MVC RC 的 Release Note 已經有提到了(Known Issues),我想應該在正式版會解決。

Will 台灣

六月 30. 2009 16:34

flywang

對於這樣的開發架構,是不是系統分析師(架構師)要對於整個系統全盤了解,要不然可能造成這漏一塊,又補一塊的狀況,是嗎?

flywang 台灣

六月 30. 2009 18:01

will

系統分析師(架構師)要對於整個系統全盤了解
=> 這不就是系統分析師(架構師)本來就該做的事嗎?

will 台灣

六月 30. 2009 23:48

flywang

您說的沒錯,但對於經驗不足的或是傳統開發模式的分析師而言,是不是可能造成這種情況?

flywang 台灣

七月 1. 2009 12:22

will

是的。

對於你的問題:「要不然可能造成這漏一塊,又補一塊的狀況」
=> 這件事似乎跟 ASP.NET MVC 一點關係也沒有,就算你用傳統的 ASP.NET WebForm 架構開發,一樣會有這漏一塊那又補一塊的狀況。

will 台灣

九月 1. 2009 15:45

Alex Lin

>> 系統分析師(架構師)要對於整個系統全盤了解
應該是系統設計師(SD)吧? SA著重在 Domain也就是需求的部分

Alex Lin 台灣

新增評論


( 您輸入的Email不會顯示於網站上 )

  Country flag

biuquote
  • 評論
  • 線上預覽
Loading