內力衡量人的武學修為,而逍遙派的北冥神功實在是寶貝,習此術之人,全身如同一個黑洞,瞬間就將他人一輩子的修煉積累掠為已有,美名其曰"北冥大水,非由自生"、"百川匯海,海納百川"。
但虛竹卻不知學習此術需要散去原先功力,所以當他被無涯子完全化成一個空空如也的和尚時,禁不住放聲大哭。其實此舉絕對可以理解,對於一個練武之人而言,內功象征積累,虛竹雖然笨了點,但二十幾年的積累,頃刻間說沒就沒,不啻於精神世界的毀滅。
■ 計算的影響 - 面向過程編程思想
ASP程序員的老祖宗名叫馮·諾依曼,ASP程序員一直以來都按照他的諄諄教導活著。 ASP程序員從來就認為這個世界的所有事情就象人的一生,有一個起點,叫START,還有一個終點,叫END。他要處理的事情,就象人這輩子,從START走到END,沒有回頭路。
ASP程序員還認為,這個世界的所有事情就象人的一生,分成不同階段,叫模塊。每一個模塊都要完成一個相互不同的任務,少年求學,青年生子,中年立命,老年不惑。
ASP程序員又認為,這個世界的所有事情都象人的一生,一共只有三種走法:有時是闊步向前,叫順序;有時面臨選擇,叫分支;有時原地打轉,徘徊不前,叫循環。
ASP程序員從來就把"不積跬步無以至千裡"當著座右銘,所以他把所有類似的事情處理過程都積累起來,記憶成一個個函數,以後碰到同類型的事情,就去調用函數。
ASP程序員把這種活法叫著"面對過程編程思想",他平時最關心的,就是過程的模型,最注意的,就是這些過程有沒有類似的處理過程可以歸納成函數。
即使是面對網站登錄這麼件小小的事情,ASP程序員仍然遵循自已的信仰,先對這個過程建模,如圖4-1,然後去調用以前所有積累的函數,精心編織這個過程的每一個環節:不是要用戶提交登錄數據嗎?他用response.write 這支畫筆按照順序一筆一劃地描述出用戶填寫頁面;不是要校驗格式嗎?他調用JavaScript函數一個個地檢查每一個<input>的value值;不是要審核數據嗎?他讀取用戶數據後翻開厚厚的帳目一個個地查找核對;不是要結果嗎?他要麼帶著用戶跳轉到指定頁面,要麼又調用函數告訴用戶不要魚目混珠。
所以ASP程序員活得很開心,他感覺世界盡在他的掌握之中。盡管很早以前有一個位名叫smlltalk的家伙告訴他的這種活法窩囊,當時ASP程序員只是感到不解;又來了個C++說他笨拙,他只是疑惑;還來了個Java在他面前耀武揚威,ASP程序員開始彷徨起來。直到有一天,小弟DotNet程序員學成歸來,與之促膝長談,終於,ASP程序員徹底動搖。冥冥之中,記起一位偉人告誡他要與時俱進。但盡管世界在變,ASP程序員依然放不下他多年所積蓄的內力,頃刻間說沒就沒,不啻於精神世界的毀滅。於是內心有兩種吶喊在不斷地交織,是在沉默中死去,還是鳳凰涅槃?
■ 創世紀·六日 - 面向對象編程思想
DotNet程序員信奉OOP教,神是Framework。
第一日,神說,萬物皆對象(object),對象有標識、狀態與行為;
於是DotNet程序員在大腦中列出Login功能的所有對象:Login對象、Login.ASPx頁面對象、登錄表單frmLogin對象、提示信息lblMessage對象、用戶名文本域txtUserName對象、密碼文本域對象txtPassWord對象和登錄按扭btnLogin對象。
第二日,神說,有相同特征和行為的對象抽象為類(class);對象即為類的一實例;
於是DotNet程序員把用戶名文本域對象和密碼文本域對象抽象成TextBox類,其余分別抽象成Login、Login.ASPx、HtmlForm、Label、Button類,並分別實例了類。
第三日,神說,對象的相同特征抽象為屬性,相同的行為處理抽象為方法;
於是DotNet程序員把實例frmLogin、lblMessage、txtUserName、txtPassWord、btnLogin定義成Login類的屬性、並定義方法btnLogin_Click。
private void btnLogin_Click(object sender, System.EventArgs e) {
if ((txtUserName.Text=="孫二娘")&&(txtPassWord.Text=="十字坡"))
lblMessage.Text="熱烈歡迎世界著名武打巨星孫二娘小姐回鄉考察投資";
else
lblMessage.Text="靠,這年頭什麼都有假的!";
}
第四日 神說,類要封裝;
於是DotNet程序員在類標識、屬性和方法前都分別加上public、private、protected。
第五日 神說,類可以繼承和合成;
於是DotNet程序員把Login.aspx定義成Login的派生類,在Login.ASPx開頭加上如下聲明語句:
<%@ Page Inherits="WebApplication1.Login" %>
第六日 神說,類有多態。
於是DotNet程序員對自己說,我暫時不需要,隨後躺下。
很快他就睡著,只聽見他的夢呓緩緩傳來:六日,我就拖幾個控件,定義幾個ID,加一段事件處理代碼,感謝萬能的主framework和他的忠實僕役Visual Studio,吸星大法,爽!