【QTP】设计模式之单例模式

摘抄至《QTP自动化测试领航》,感觉关于设计模式写的很有独到之处,大家有什么理解或想法,尽情留言。


Option Explicit
Public oExcel       '申明全局变量

Set oExcelInstace = New ExcelWrapper
oExcelInstace.Open("xxxxxx")

Class ExcelWrapper
    Private oExcelObject
    '初始化实例
    Private Sub Class_Initialize
        Dim bAleadyInit      '判断对象是否存在的标志

        '检查对象是否已经被初始化
        bAleadyInit = False

        If isObject(oExcel) = True Then
            '对象初始化
            If not oExcel is Nothing Then
                '激活状态
                bAleadyInit = True
            End If
        End If

        '如果标志是False,则创建一个实例对象
        If bAleadyInit = False Then
            Set oExcel = CreateObject("Excel.Application")
        End If

        Set oExcelObject = oExcel
    End Sub

    '类销毁时退出Excel,并释放Excel对象引用
    Private Sub Class_Terminate
        oExcelObject.Quit
        Set oExcelObject = Nothing
    End Sub

    Public Sub Open(oFileName)
        '打开文件的代码
    End Sub

    Public Function GetSheetDate(oSheet)
        '写读单元格的代码
    End Function

    '*****************等等,更多方法*********************
End Class

总结:
单例模式可以帮助我们很好的管理对象的生命周期,使用它能更好的帮我们集中对象的实体,更好地控制对象。

发表评论

电子邮件地址不会被公开。