使用 Google 搜尋本站文章:
首頁 | CodeCharge 討論板 | 部落格 | ASP.NET 電子書 | 所有文章 | 相簿 | News | 網站導讀 | 聯絡 Allen | 訂閱 RSS
Microsoft MVP
since 2004
 


學 ASP.NET 要不要懂什麼是 Class ?

By Allen Kuo, 建立日期:2008/08/12 12:07 ,最後修改日期:2008/09/03 09:57
學 ASP.NET ,一定要懂什麼是 Class!!
    加入書籤: 收進你的MyShare個人書籤

對寫過程式的人,例如 VB6, ASP,... 等, 對於撰寫副程式一定有經驗, 但在學習 ASP.NET 時, 初學者會聽到二種聲音:

  • VB.NET, C# 是物件導向的語言, 一定要學好
  • VS.NET 很好用, 簡單的東西拉一拉就好了, 拉不出來的再手寫, 補入一些 code 就好了

我個人覺得不妨先學會拉一拉, 如何做出簡單的東西, 並稍微學一下如何拉出有一點點難的東西, 並且學著手寫程式, 在遇到實在無法用拉的, 或者用拉的會導致效能太差時使用; 當然啦, 您寫程式通常不會只寫一頁, 就算用拉的或手寫的, 都需要有能力解決遇到的問題(例如需要判斷目前使用者是否已登入, 有沒有權限操作這一頁, 是否有權限看某縣市的銷售記錄,...)。

回到正題, 學 ASP.NET 的人, 要不要懂什麼是 class(類別) 呢? 我覺得需要!! 就算您只是要拉一拉, 對 class 也需要了解。

如圖一所示, 您在編輯 default.aspx, 在 default.aspx.cs 撰寫 button click 事件時, 其實 default.aspx.cs 它就是一個 class, btnSave_Click 其實就是這 class 裡的 method(方法), 因此只要您有手寫程式碼的機會, 其實您面對的都是 class。

 圖一

 

請參考圖二, 當您想寫程式將資料存入 database 時, 我示範了二種方法, 方法1是呼叫 Insert(), 如果您覺得整個專案(網站)裡, 只有這一頁會需要將資料存檔, 那麼您可以使用方法1, 直接在 default.aspx.cs裡寫Insert(), 而這 Insert method,也只有在這一頁才能呼叫。

但如果您寫的網站其實有前台(給使用者操作) 及後台(供管理者維護資料), 而您希望網站同時允許會員自行輸入資料後加入新會員(這是常見的功能, 對吧), 也希望管理者能在後台幫客戶加入會員(有的客戶是VIP, 您想幫他建檔,省去他輸入的時間), 那麼您應該使用方法2, 也就是在 app_Code 資料夾裡撰寫一支 class(Member.cs), 並為Member class 撰寫一個Insert method, 如此一來, 前台及後台的網頁就都可以共用, 同時呼叫它。

延續上述的狀況, 如果您將前台/後台, 是分離成二個獨立的網站(專案), 那麼您應該先另外建立一個 dll 專案, 在 dll 專案裡撰寫 Member class, 然後再在前台/後台網站裡, 將該 dll 加入參考(如圖三所示)

圖二

圖三

 

結論:

無論您打算純粹手寫程式碼, 或者主要用拖拉的方式開發 ASP.NET , 您都需要對 class 有基本的了解, 並視需要來決定 method 要寫在網頁裡 , app_code 資料夾裡 , 或者用一個獨立的 dll 專案來存放。

 

Copyright © AllenKuo.com , 2000 - 2008