前言
幾乎所有的系統,都一定會有資料新增、修改、刪除、查詢的功能(CRUD)。在ASP.NET裡撰寫CRUD有很多種的實作方式,例如使用GridView就可以簡單實作完成。這樣的寫作方式是把CRUD的職責,綁定在控制項上。當我們要做修改的時候,只能選擇控制項提供的方式,或是特殊方法才能滿足客戶的要求。
本篇文章描述,撰寫CRUD的一種模式。將CRUD的職責拆解成一個一個的頁面,單一頁面只要負責單一的職責。拆解完的CRUD職責不是綁在控制項而是綁在頁面上,能比較方便的做修改來滿足客戶要求。
頁面流程

先從整個頁面流程看起,上圖為整個模式使用的頁面流程圖。一共分為六個頁面,其職責為 :
l List : 顯示資料列表。
l Detail : 顯示單一資料內容。
l Insert : 新增一筆資料。
l Update : 更新一筆資料。
l Delete : 刪除一筆資料。
l Notify : 通知使用者結果。
頁面說明
l List :
頁面需求 : 無。
頁面職責 : 顯示多筆資料列表。
頁面動作 :
1. 顯示單一資料 : 選取單一資料,進入Detail頁面。
2. 刪除資料 : 選取多筆資料,進入Delete頁面。
3. 新增資料 : 進入Insert頁面。
頁面範例 :


l Detail :
頁面需求 : 單一資料。
頁面職責 : 顯示單一資料內容。
頁面動作 :
1. 修改資料 : 取得顯示單一資料,進入Update頁面。
2. 刪除資料 : 取得顯示單一資料,進入Delete頁面。
3. 新增資料 : 進入Insert頁面。
頁面範例 :


l Insert :
頁面需求 : 無。
頁面職責 : 輸入單一資料內容。
頁面動作 :
1. 新增資料 : 取得輸入單一資料,新增至資料庫,進入Notify頁面。
頁面範例 :


l Update
頁面需求 : 單一資料。
頁面職責 : 顯示及輸入單一資料內容。
頁面動作 :
1. 修改資料 :取得輸入單一資料,修改至資料庫,進入Notify頁面。
頁面範例 :


l Delete :
頁面需求 : 多筆資料。
頁面職責 : 顯示多筆資料內容。
頁面動作 :
1. 刪除資料 : 取得顯示多筆資料,刪除至資料庫,進入Notify頁面。
頁面範例 :


l Notify :
頁面需求 : 訊息內容。
頁面職責 : 顯示訊息內容。
頁面動作 :
1. 使用者確認 : 進入List頁面。
頁面範例 :


實作說明
實作這個模式,有很多方式可以選擇。
l 將每個頁面建立為一個ASP.NET Page頁面。
l 將每個頁面建立為一個ASP.NET使用者控制項。
l 使用ASP.NET MVC建立系統。
l …
在開發CRUD的時候,還有一些功能例如資料驗證或是採用Ajax等等,這些比較細項的功能就不贅述。等待實做的時候,依照選擇的方式,加上去即可。
結語
本模式主要是將CRUD職責分散,建立鬆散操作流程。套用模式去開發系統,應該可以滿足大部分的CRUD功能。
期許自己~
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。
2010/2/6 23:02|
閱讀數 : 634
|
2 人收藏
3 人推薦
我要推薦
|
|
文章分類:
ASP.NET
訂閱