ASP.NET 怎麼學 - 先搞清楚類別是什麼東西

.NET自從1.0發表以來,便是以物件導向理論為其設計核心,應用程式本身的功能,由各種物件所組成,開發人員透過拼裝各種功能物件建立所需的應用程式,也因此瞭解如何使用物件,成為程式設計人員學習.NET過程中最重要的目標,而物件由類別所定義,因此追溯到源頭,真正的關鍵事實上在類別,它定義了物件的功能並且在應用程式執行的過程當中產生所需的物件實體,不管你同不同意,.NET程式員每天所作的事,便是建立新類別與使用現成的類別,差別只在於用 ASP 的方式開發 ASP.NET 系統的開發人員,最後寫出來的是一隻隻肥到會撐死的類別怪物。

有了概念,我們來看看.NET應用程式的組成,傳統的應用程式在設計之初便會將整個架構、包含功能設計好,最多保留一些空間作為將來擴充之用,完成後的成品看來就像這個樣子:


可以想見的,使用這種模式所開發出來的系統有多糟糕,非旦難以調整,又沒有擴充的彈性,所有的功能緊緊的綁在一起,就像蓋好的房子,想要改掉格局,很抱歉,請打掉重來。想想這有多麼恐佈,使用者的需求每天都在改變,尤其現代的應用程式,動輒數十萬甚至上百萬行的程式碼,再用這種方式寫程式,系統不掛,開發人員可能先被操死。

.NET徹底的物件導向特性,讓這種拙劣的開發方式有了轉圜,與傳統開發方式最大的差異在於系統透過物件附加來達到所要功能,它的設計模式就像這個樣子:


如你所見,一旦某個部份需要調整或是某個新的功能需要建立,透過物件的置換或是附加,即可完成系統的升級,應用程式的核心只佔其中的一小部份。

人類擅長透過思考來解決所遇到的問題,然而問題要以什麼型態、在什麼時間出現,卻不是所能預料的,開發人員只能就以往的經驗來推斷系統應該怎麼設計,而使用者的需求則是天馬行空、不斷的變化,系統因此也必須能夠跟著持續演進。處理這種狀況最好的辦法就是讓系統保留發展的彈性,而非事先想好所有的狀況,將功能寫齊,這不是任何人可以作得到的事情,基於這些理由,物件導向理論因此被發展出來,所以,你應該可以想像,類別為何如此重要,它本身就是撐起整個物件導向架構的核心。

好了,講這麼多,好像跟 ASP.NET 沒有關係,事實上,關係可大的,當然,故事一次講不完,剩下的,我們明天慢慢聊。

PS. 這篇文章的圖是擷取自【Visual C# 2005 精要剖析】,剛好適合拿來談,所以我說想學好ASP.NET,不要怕花錢,先敗一本【Visual C# 2005 精要剖析】,也不過幾百元,比起上課省錢許多,接下來年底還有一本ASP.NET商用系統開發也,兩本讀一讀,保証出師,咯咯咯…(很市儈的傻笑中)

2 則留言:

NK 提到...

老師你好:
不好意思,我想請教一下,想要從AjaxControlToolkit 1.0.10618.0升級到1.0.10920.40429 正確的步驟是??或者有什麼要注意的呢?

如果舊有的Web.config要怎麼更新呢?

康廷數位 提到...

hi nk 您好,ASP.NET AJAX 我一直沒有去特別注意單獨的升級動作咧,因為我的環境早已經最新的了 ... Orz,你的問題暫時沒辦法很肯定的回答你哦,很抱歉 ... 不過大致上你可以將兩個不同版本的環境下所建立起來的AJAX專案的Web.config比較一下看看差異在那裏應該就能夠調整了

Good Luck