最新回應

[ASP.NET] : WebForm CRUD Pattern

 

前言

幾乎所有的系統,都一定會有資料新增、修改、刪除、查詢的功能(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 人推薦 我要推薦 | One Comment | 文章分類: ASP.NET 訂閱


關連文章

回應

  • hunterpo 2010/2/9 下午 03:51 回覆

    # re: [ASP.NET] WebForm CRUD Pattern

    Clark 大簡明扼要的說明,著實惠我良多!

標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 1 and 6 and type the answer here: