麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > VBScript > 正文

使用VBScript 中的類組織開發(fā)

2020-07-26 12:03:43
字體:
供稿:網(wǎng)友
當(dāng)在一個(gè)機(jī)構(gòu)內(nèi)部創(chuàng)建Web應(yīng)用程序時(shí),有時(shí)候你會(huì)發(fā)現(xiàn)你自己從一個(gè)應(yīng)用程序中復(fù)制和粘貼相同的代碼到其它的應(yīng)用程序中。如果你能夠固化所有這些過程到一個(gè)好用的小包(package)中,其后你就可以在整個(gè)域中使用它了,這樣會(huì)方便很多。

 

同時(shí),如果你有一個(gè)重復(fù)使用的過程,創(chuàng)建一個(gè)類包含你的過程可能會(huì)比較有用。使用類組織你的代碼有一些優(yōu)點(diǎn):它使得你的代碼容易閱讀和調(diào)試;你可以將你的類輕松的移值到一個(gè)Web服務(wù)中;你為其它開發(fā)人員提供一個(gè)抽象工具(從而節(jié)省了時(shí)間和資金);同時(shí)在一個(gè)項(xiàng)目的開發(fā)階段你還保留了靈活性。

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

下面是實(shí)現(xiàn)方法:

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 屬性在類初始化之后就會(huì)有值。你可以將這個(gè)類的代碼放到 ASP 代碼的最后。然后在其余的代碼中其功能就可以在使用,不用實(shí)例化ADO對(duì)象,進(jìn)行數(shù)據(jù)庫調(diào)用和之后的清理。而且,如果你使用的是 Microsoft Visual InterDev,那么類中定義的屬性和方法可以通過智能感知(IntelliSense)使用。

智能感知只對(duì)一級(jí)屬性和方法有效,所以如果你創(chuàng)建一個(gè)類返回其它 ASP 類的對(duì)象,那么 InterDev 就不會(huì)提供可用的方法和屬性。

下面的代碼是一個(gè)類的骨架:

Class MyClass

Private Sub Class_Initialize()
End Sub

Private Sub Class_Terminate()
End Sub

End Class 

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

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

創(chuàng)建類的另外一個(gè)好處是你可以輕易的將這個(gè)類聲明移值到 Web 服務(wù)中。因?yàn)檫@是很多開發(fā)人員前進(jìn)的方向,你可以通過使用類創(chuàng)建面向?qū)ο蟮拇a先行一步。當(dāng)你移值這些類聲明到一個(gè) Web 服務(wù)時(shí),你不需要重寫所有的放置了那段代碼的ASP代碼。所要做的唯一的改變就是你的對(duì)象的實(shí)例化。

我發(fā)現(xiàn)創(chuàng)建這個(gè)抽象的最大的優(yōu)點(diǎn)是可以使用其它 Web 開發(fā)者的幫助。因?yàn)閷?duì)于很多開發(fā)人員來說在每個(gè)不同的實(shí)現(xiàn)中重復(fù)創(chuàng)建相同的代碼效率相當(dāng)?shù)?,所以這個(gè)方法為每個(gè)開發(fā)人員提供了一個(gè)抽象工具。這就允許每個(gè)開發(fā)人員將精力更多地集中在當(dāng)前工作的功能上面,而不是花費(fèi)時(shí)間重寫他們已經(jīng)開發(fā)過的代碼上面。

如果你奇怪為什么我不提供一個(gè)COM對(duì)象來處理這個(gè)功能,那是因?yàn)樗鼤?huì)把你鎖定到細(xì)節(jié)設(shè)計(jì)中。通過在 ASP 中動(dòng)態(tài)地創(chuàng)建類,你可以不用重新編譯和發(fā)布就能夠?qū)︻愖龀龈?。在類固定之后,再將它移值?nbsp;COM、Windows 腳本組件(WSC)或者一個(gè) Web 服務(wù)中,但是在開發(fā)階段還是靈活一些好。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av成人在线免费观看 | 久久福利剧场 | 日本成人二区 | 久久精品国产一区二区 | av懂色| 国产成人在线免费视频 | 亚洲第五色综合网 | 特级毛片免费视频 | 黄网站色成年大片免费高 | 黄色一级毛片免费看 | 亚洲人成在线播放网站 | 91精品久久久久久久久网影视 | 久久久无码精品亚洲日韩按摩 | 国产成人综合在线视频 | 欧美一区黄色 | 精品中文字幕视频 | 高清中文字幕在线 | 亚洲午夜在线视频 | 污在线观看网站 | 亚洲99 | 毛片免费视频观看 | 亚洲视频综合网 | 欧美日本免费一区二区三区 | 国产老师做www爽爽爽视频 | 斗罗破苍穹在线观看免费完整观看 | 羞羞视频免费网站男男 | 天天透天天狠天天爱综合97 | 毛片a片 | 宅男噜噜噜66国产免费观看 | 色播视频网站 | 国产在线中文 | 精品中文字幕久久久久四十五十骆 | 97zyz成人免费视频 | 毛片视频在线免费观看 | 久草视频在线资源 | www国产成人免费观看视频,深夜成人网 | 91精品国产91 | 日韩毛片免费观看 | 日本在线不卡一区二区 | 国产乱一区二区三区视频 | 久久久大片 |