程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET入門隨想之抽象的力量

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

編輯:.NET實例教程
     小時看過一故事:三書生欲進京趕考,問一老僧三人前景如何,老僧端坐如山,最後緩緩伸出一指。於是三書生路上爭論不休,不明老僧指哪一人會黃榜題名,不料後來三人同時高中,高興之余,不禁對老僧的權威起了疑心。三人衣錦返鄉後,追問老僧,老僧及端坐如山,緩緩曰:一指表示三人皆中,三人立馬暈倒。
  
    ■ ASP的編程思想 - 寫八股文
  
   MS在Java技術的沖擊下匆忙推出ASP技術。要不是因為WinServer操作系統的霸主地位,粗陋的ASP不太可能在OO推行二十幾年、C++和Java如火如荼之際站穩腳跟。
  
   我們從ASP技術中幾乎可以看出編程技術的幾十年的演進過程。大多數人寫的第一個ASP程序,就是在HTML字符流中插入<%="Hello,Welcome to ASP World!"%>,瞬間沖動一直支撐著ASP程序員從輸出網頁內容到輸出網頁結構到輸出網頁腳本程序的學習過程,只要你對Html語法結構和數據庫有一定了解,熟悉某一兩種程序設計語言,你就可以很快地撥弄出幾個網站,要是你還會點PS和Flash,那你就簡直不得了了;終於有一天有人想起C語言include "string.h"之類的東東,開始意識到重復的代碼可以定義一個函數或過程來重復調用,於是網絡上開始盛行<include file="****.asp">語句;復雜的企業計算不堪忍受ASP粗糙的八個固有組件,然又有白骨精們編寫出DLL以體現Java標志性的N層結構技術,於是又出現了一個新名詞叫DLL陷阱,如果你編寫出來的DLL和WIN系統現有的同名,那麼離重裝機器的日子就不遠。簡單地說,ASP就是面向過程和面向對象的雜交體,原始、混亂,在同一個程序中,你可看到call sub,也可看到set rs=conn.execute("……"),什麼東西!
  
   但不管怎麼折騰,ASP編程的實質,就是始終面對著組織網頁HTML字符流這個過程,盡管帶著點OO的影子,但它的目的決定了它是面對過程,在它的眼裡,花哨網頁中的文字和圖片一樣,都是字符,它的任務,就是從<html>標簽開始,不斷用response.write 語句生成<head>到<body>、<div>、<input>一直到</html>標簽字符流,最後構成客戶端Html網面和客戶端腳本程序,恰似八股文之破題、承題、起講……
  
    ■ Web程序編程思想的演進 - 讓人民幣來得更猛烈些吧!
  
   讓我們來想像一下你的月薪從1,000RMB到>30,000RMB的過程。
  
   一個靜態網頁就似Word文檔,CSS就象是Word文檔的模板。如果你恰好做這些事,那麼你的職位叫網面設計師,月薪1,000,這時你年少無知;
  
   如果你開始知道如何用程序自動生成一個頁面時,此時你的編程思想是圍繞著某個具體網頁展開的,恰如五六十年代的面對過程時代。那麼你的月薪將可能有2,000,叫程序員,這時你初出毛廬;
  
   你做了許多重復的事,發現許多頁面需要一些公共功能,比如網站往往需要一個公共的CONN文件來創建數據庫連接對象時,程序員自然會將這個創建過程封裝成函數來重復調用,這時的編程思想是圍繞著公共功能展開的,正如七八十年代的結構化編程,已經開始對功能的進行抽象。風華正茂的你開始被人叫成軟件工程師了,月薪3500;
  
   當你又發現一個網站中其實都是由公共的內容組成的,比如登錄框,它往往有固定的數據(用戶名/密碼)、固定的外觀(用戶名和密碼輸入框 / 提交按鈕)、固定的動作(審核 / 登錄成功 / 登錄失敗),從結構化角度來看,完成登錄框需要定義若干個變量和若干個函數,但我們進一步抽象,把對話框看成一個整體,它用數據來表示自己的特征(不同用戶名和密碼的組合),用方法來表示自己所能處理的事件,封裝起來,即成為對象。可用如下結構來表示:
  
   class 登錄{用戶名;密碼;審核;登錄成功;登錄失敗;輸入界面;}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved