熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET入門隨想之抽象的力量

2013-11-13 10:16:11  來源: .NET編程 

  小時看過一故事三書生欲進京趕考問一老僧三人前景如何老僧端坐如山最後緩緩伸出一指於是三書生路上爭論不休不明老僧指哪一人會黃榜題名不料後來三人同時高中高興之余不禁對老僧的權威起了疑心三人衣錦返鄉後追問老僧老僧及端坐如山緩緩曰一指表示三人皆中三人立馬暈倒

  ■ASP的編程思想 寫八股文

  MS在java技術的沖擊下匆忙推出ASP技術要不是因為WinServer操作系統的霸主地位粗陋的ASP不太可能在OO推行二十幾年C++和JAVA如火如荼之際站穩腳跟

  我們從ASP技術中幾乎可以看出編程技術的幾十年的演進過程大多數人寫的第一個ASP程序就是在HTML字符流中插入<%=HelloWelcome to ASP World!%>瞬間沖動一直支撐著ASP程序員從輸出網頁內容到輸出網頁結構到輸出網頁腳本程序的學習過程只要你對HTML語法結構和數據庫有一定了解熟悉某一兩種程序設計語言你就可以很快地撥弄出幾個網站要是你還會點PS和FLASH那你就簡直不得了了終於有一天有人想起C語言include stringh之類的東東開始意識到重復的代碼可以定義一個函數或過程來重復調用於是網絡上開始盛行<include file=****asp>語句復雜的企業計算不堪忍受ASP粗糙的八個固有組件然又有白骨精們編寫出DLL以體現JAVA標志性的N層結構技術於是又出現了一個新名詞叫DLL陷阱如果你編寫出來的DLL和WIN系統現有的同名那麼離重裝機器的日子就不遠簡單地說ASP就是面向過程和面向對象的雜交體原始混亂在同一個程序中你可看到call sub也可看到set rs=connexecute(……)什麼東西!

  但不管怎麼折騰ASP編程的實質就是始終面對著組織網頁HTML字符流這個過程盡管帶著點OO的影子但它的目的決定了它是面對過程在它的眼裡花哨網頁中的文字和圖片一樣都是字符它的任務就是從<html>標簽開始不斷用responsewrite 語句生成<head>到<body><div><input>一直到</html>標簽字符流最後構成客戶端HTML網面和客戶端腳本程序恰似八股文之破題承題起講……

  ■WEB程序編程思想的演進 讓人民幣來得更猛烈些吧!

  讓我們來想像一下你的月薪從RMB到>RMB的過程

  一個靜態網頁就似WORD文檔CSS就象是WORD文檔的模板如果你恰好做這些事那麼你的職位叫網面設計師月薪這時你年少無知

  如果你開始知道如何用程序自動生成一個頁面時此時你的編程思想是圍繞著某個具體網頁展開的恰如五六十年代的面對過程時代那麼你的月薪將可能有叫程序員這時你初出毛廬

  你做了許多重復的事發現許多頁面需要一些公共功能比如網站往往需要一個公共的CONN文件來創建數據庫連接對象時程序員自然會將這個創建過程封裝成函數來重復調用這時的編程思想是圍繞著公共功能展開的正如七八十年代的結構化編程已經開始對功能的進行抽象風華正茂的你開始被人叫成軟件工程師了月薪

  當你又發現一個網站中其實都是由公共的內容組成的比如登錄框它往往有固定的數據(用戶名/密碼)固定的外觀(用戶名和密碼輸入框 / 提交按鈕)固定的動作(審核 / 登錄成功 / 登錄失敗)從結構化角度來看完成登錄框需要定義若干個變量和若干個函數但我們進一步抽象把對話框看成一個整體它用數據來表示自己的特征(不同用戶名和密碼的組合)用方法來表示自己所能處理的事件封裝起來即成為對象可用如下結構來表示

  class 登錄{用戶名密碼審核登錄成功登錄失敗輸入界面}

  再用對象的眼光來觀察網站那麼就會發現小到輸入框大到頁面都是對象從整個網站中抽象出最基本的內容(不可再分缺一不可)設計成對象然後就是簡單地組合這時的編程思想是面對整個網站其實這就是八九十年代風行一時的OO思想這時你可能已經有了名片上面印著高級軟件工程師幾字月薪RMB不過你早上梳頭時會發現自已的眼角已有了皺紋

  當一個企業需要把互聯網溶入到它的機體時它必須把現有的桌面程序和WEB程序看成一個整體兩者需要公共的組件如這時的登錄請求不僅可能是WEB程序還可能是桌面程序也就是說需要統一的使用授權組件來處理這類事物那麼這時的編程思想是面對組件這時你的頭銜已改成架構師月薪>不過鏡子裡的腦袋上出現若干白發

  一切看起來已經好象很完美了不!正如我們對月薪的追求永無止境一樣企業所想的不僅僅是讓用戶們簡單地浏覽它們網頁這麼簡單他的關聯客戶又對你的系統提出新要求如希望用他們的JAVA系統直接完成轉賬過程可我的系統是用ASPNET系統架構出來的!另外你可不能讓別人輕松劃走^N RMB成千上萬家的關聯客戶讓你的編程思想開始面對公共服務對方可不認識你的這對象那組件就他而言轉賬是一件事只要在他的桌面程序中用他那粗短的手指輸入用戶名和密碼後其它就是你系統的事如果你能熟練地用WEB Service 完成這些事情那麼恭喜你薪水就你而言只是一個數字而往往不具有實際意義當然你現在已很難用自身的魅力來吸引清純少女了用十八歲女孩的話說你已經是老男人了雖然你才三十出頭


From:http://tw.wingwit.com/Article/program/net/201311/13117.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.