亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

使用VBScript 中的類組織開發

2020-07-26 12:03:43
字體:
來源:轉載
供稿:網友
當在一個機構內部創建Web應用程序時,有時候你會發現你自己從一個應用程序中復制和粘貼相同的代碼到其它的應用程序中。如果你能夠固化所有這些過程到一個好用的小包(package)中,其后你就可以在整個域中使用它了,這樣會方便很多。

 

同時,如果你有一個重復使用的過程,創建一個類包含你的過程可能會比較有用。使用類組織你的代碼有一些優點:它使得你的代碼容易閱讀和調試;你可以將你的類輕松的移值到一個Web服務中;你為其它開發人員提供一個抽象工具(從而節省了時間和資金);同時在一個項目的開發階段你還保留了靈活性。

當把你的通用過程組織到一個類的時候,你創建一級抽象,允許你在幾乎所有代碼中實現這些過程。例如,假設在你創建的每個Web應用程序中,你者需要初始化用戶信息。這個初始化過程包括在用戶登錄到你的應用程序時根據用戶憑證所做的一些數據庫服務器連接。如果你在每個應用程序中都需要完成這個任務的話,那么將你的代碼固化到一個類中相當有意義。

下面是實現方法:

Dim MyToolbox
Set MyToolbox = New CToolbox
Response.Write "UserName: " & MyToolbox.UserName & "<BR>" & vbCrLf
Response.Write "UserPhone: " &  MyToolbox.UserPhone & "<BR>" & vbCrLf
Set MyToolbox = Nothing

Class CToolbox
Private m_conn, m_rs
Private m_username, m_userphone

Public Property Get UserName()
    UserName = m_username
End Property

Public Property Get UserPhone()
    UserPhone = m_userphone
End Property

Private Sub Class_Initialize()
    Set m_conn = Server.CreateObject("ADODB.Connection")
    m_conn.ConnectionString = "Some connection string"
    m_conn.Open
    Set m_rs = Server.CreateObject("ADODB.Recordset")
    Set m_rs.ActiveConnection = m_conn
    m_rs.Open "Select * FROM Users Where userid = '" &
                        Request.ServerVariables("LOGON_USER") & "'"
    If Not m_rs.EOF Then
        m_username = m_rs.Fields("username")
        m_userphone = m_rs.Fields("userphone")
    End If
End Sub

Private Sub Class_Terminate()
    On Error Resume Next
    m_rs.Close
    Set m_rs = Nothing
    m_conn.Close
    Set m_conn = Nothing
End Sub

End Class 

從例子中你可以看到,UserName 和 UserPhone 屬性在類初始化之后就會有值。你可以將這個類的代碼放到 ASP 代碼的最后。然后在其余的代碼中其功能就可以在使用,不用實例化ADO對象,進行數據庫調用和之后的清理。而且,如果你使用的是 Microsoft Visual InterDev,那么類中定義的屬性和方法可以通過智能感知(IntelliSense)使用。

智能感知只對一級屬性和方法有效,所以如果你創建一個類返回其它 ASP 類的對象,那么 InterDev 就不會提供可用的方法和屬性。

下面的代碼是一個類的骨架:

Class MyClass

Private Sub Class_Initialize()
End Sub

Private Sub Class_Terminate()
End Sub

End Class 

使用這個基本信息,一個類被聲明,并且可以使用它來創建對象。但是這個類的對象沒有功能――它們是無用的東西。類的方法從 Public Sub 或者 Public Function 聲明構建(Subs 沒有返回值,而 Function 有返回值)。

有兩個方法可以暴露屬性:既可以在類的全局上下文中使用 Public VarName,也可以使用 Public Property Get/Set/Let。如果你需要一個只讀屬性,那么只要簡單地使用一個 Property Get 聲明即可。所有其它聲明為 Private 的 Properties,Subs 或者 Functions 只有在實例化的對象才可用。在類的全局上下文中聲明為 Private 的變量是成員變量。

創建類的另外一個好處是你可以輕易的將這個類聲明移值到 Web 服務中。因為這是很多開發人員前進的方向,你可以通過使用類創建面向對象的代碼先行一步。當你移值這些類聲明到一個 Web 服務時,你不需要重寫所有的放置了那段代碼的ASP代碼。所要做的唯一的改變就是你的對象的實例化。

我發現創建這個抽象的最大的優點是可以使用其它 Web 開發者的幫助。因為對于很多開發人員來說在每個不同的實現中重復創建相同的代碼效率相當低,所以這個方法為每個開發人員提供了一個抽象工具。這就允許每個開發人員將精力更多地集中在當前工作的功能上面,而不是花費時間重寫他們已經開發過的代碼上面。

如果你奇怪為什么我不提供一個COM對象來處理這個功能,那是因為它會把你鎖定到細節設計中。通過在 ASP 中動態地創建類,你可以不用重新編譯和發布就能夠對類做出更改。在類固定之后,再將它移值到 COM、Windows 腳本組件(WSC)或者一個 Web 服務中,但是在開發階段還是靈活一些好。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧洲亚洲在线视频| 国外成人免费在线播放| 亚洲精品成人久久久| 精品久久久久久久大神国产| 中文字幕欧美日韩精品| 日本视频久久久| 亚洲久久久久久久久久久| 成人一区二区电影| 精品小视频在线| 日韩av理论片| 日韩视频免费在线| 亚洲在线视频观看| 日韩中文字幕久久| 国产精品国产三级国产专播精品人| 91社影院在线观看| 国产精品18久久久久久麻辣| 亚洲男人的天堂在线| 亚洲精品91美女久久久久久久| 啪一啪鲁一鲁2019在线视频| 中国china体内裑精亚洲片| 日韩成人在线播放| 国产欧美精品一区二区三区-老狼| 国产精品色视频| 成人性生交大片免费观看嘿嘿视频| 午夜精品一区二区三区在线视| 亚洲大胆人体av| 日韩精品视频在线观看网址| 最近2019年日本中文免费字幕| 国产精品久久久久久影视| 久久精品国产成人精品| 91久久精品国产| 精品亚洲一区二区三区在线观看| 欧美激情xxxx性bbbb| 亚洲女人被黑人巨大进入| 国产精品久久久久久久久久久久久久| 狠狠色噜噜狠狠狠狠97| 亚洲欧美国内爽妇网| 成人免费激情视频| 欧美成人午夜激情视频| 欧美久久精品午夜青青大伊人| 国产91免费观看| 久久精品亚洲一区| 久久亚洲春色中文字幕| 亚洲精品自拍视频| 欧美日韩加勒比精品一区| 亚洲综合第一页| 亚洲精品v欧美精品v日韩精品| 亚洲国产高清高潮精品美女| 精品一区二区电影| 久久综合伊人77777尤物| 亚洲精品视频网上网址在线观看| 欧洲s码亚洲m码精品一区| 欧美激情久久久| 欧美大片在线免费观看| 欧美www视频在线观看| 国产欧洲精品视频| 欧美激情视频一区| 91精品国产777在线观看| 国产精品爽爽爽| 国产精品久久一区主播| 久久亚洲精品小早川怜子66| 性欧美办公室18xxxxhd| 热久久免费国产视频| 欧美美女15p| 亚洲品质视频自拍网| 午夜精品99久久免费| 欧美另类在线播放| 成人性生交大片免费看小说| 激情亚洲一区二区三区四区| 亚洲一区二区三区777| 久久中文久久字幕| 欧美高跟鞋交xxxxxhd| 欧美精品成人在线| 国产精品亚洲视频在线观看| 亚洲成人黄色网| 国产美女被下药99| 国产精品中文久久久久久久| 国产网站欧美日韩免费精品在线观看| 日韩av在线网| 一区二区三区四区视频| 精品福利一区二区| 国产精品电影一区| 另类色图亚洲色图| 国产成人一区二区三区| 国产极品精品在线观看| 欧美性猛交99久久久久99按摩| 久久久久久伊人| 亚洲电影中文字幕| 久久亚洲综合国产精品99麻豆精品福利| 国产视频在线观看一区二区| 日韩在线视频导航| 欧美最猛性xxxx| 亚洲桃花岛网站| 曰本色欧美视频在线| 一区二区在线视频| 国产精品九九久久久久久久| 国产精品视频永久免费播放| 91久久久久久久一区二区| 日韩精品黄色网| 456亚洲影院| 国产精品白丝jk喷水视频一区| 亚洲国产日韩一区| 午夜精品三级视频福利| 欧美国产日韩一区| 最新国产成人av网站网址麻豆| 欧美成人中文字幕在线| 大胆人体色综合| 国产欧美精品一区二区| 亚洲欧美日韩一区二区三区在线| 久久综合88中文色鬼| 不卡毛片在线看| 国内精品久久久久久中文字幕| 91干在线观看| 色综合久久久888| 欧美裸体男粗大视频在线观看| 欧美日韩中国免费专区在线看| 成人自拍性视频| 欧美色欧美亚洲高清在线视频| 亚洲综合av影视| 久久久亚洲国产天美传媒修理工| 欧美高清激情视频| 中文字幕亚洲一区在线观看| 欧美人交a欧美精品| 国产精品69精品一区二区三区| 国产成人av在线播放| 日韩精品福利网站| 国产有码一区二区| 国产精品丝袜白浆摸在线| 国产亚洲欧洲高清一区| 国产精品久久久久久久久久99| 国产99久久久欧美黑人| 亚洲国产精品小视频| 日韩精品免费在线播放| 欧美在线免费观看| 国产做受高潮69| 欧美限制级电影在线观看| 久久久久久久久中文字幕| 精品国产一区二区三区久久狼黑人| 欧美性jizz18性欧美| 国产乱肥老妇国产一区二| 日韩国产欧美精品一区二区三区| 久久成人这里只有精品| 精品久久久久久久久久久久久久| 欧洲亚洲妇女av| 国内精品一区二区三区四区| 91网站在线免费观看| 久久成人av网站| 精品久久久久久久久中文字幕| 亚洲欧洲国产精品| 欧美成人午夜激情| 日韩在线中文视频| 欧美电影免费观看大全| 亚洲淫片在线视频| 欧美日韩一区二区免费在线观看| 亚洲精品动漫100p| 国产精品电影一区| 欧美一区二区三区艳史| 久久精品国产亚洲7777| 激情久久av一区av二区av三区| 久久亚洲综合国产精品99麻豆精品福利| 欧美激情视频在线免费观看 欧美视频免费一| 91精品视频观看| 国产精品欧美一区二区三区奶水| 亚洲天堂av电影|