Tôi có một số quy trình sử dụng FileSystemObject. Tôi thấy nó khá thuận tiện.Vượt qua FileSystemObject hiện có hoặc tạo nhiều phiên bản
Câu hỏi: Có hợp lý khi chuyển một thể hiện tệp FileSystemObject từ thủ tục "chính" sang các thủ tục khác làm đối số, thay vì phải thực hiện từng thủ tục tạo tệp riêng của tệp FileSystemObject?
Ví dụ: là nó tốt hơn trong bất kỳ cách nào để làm điều này:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(FSO, myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(FSO, myargs)
' Do stuff with FSO
' call other subs and functions that use FileSystemObject
End Sub
mà tôi đã thấy ít nhất một lập trình viên làm, chứ không phải là những điều sau đây, đó là những gì tôi thường làm:
Sub MainSub()
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' call other subs and functions that use FileSystemObject
End Sub
Sub OtherSub(myargs)
Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
Call OtherSub(myargs)
' Do stuff with FSO
' call other subs and functions that use FileSystemObject
End Sub
Tôi có thể thấy ý tưởng làm việc trước đây ở chỗ điều này có khả năng làm giảm chi phí liên quan đến việc có nhiều phiên bản của FileSystemObject. Nhưng nó có vẻ khủng khiếp rườm rà để phải vượt qua FSO như một đối số mỗi lần. Và nghiêm túc, là chi phí thực sự lớn đến vậy?
Fake OOP. Tôi thích điều này. –