"Brynn" <co******@gmail.comwrote in message
news:ab**********************************@v4g2000h sf.googlegroups.com...
On Nov 20, 10:39 am, "Bruce" <fake_dont_send@anything_.comwrote:
I've been searching for some information on the use of Classes in ASP,
but
found very little information.
I found thishttp://www.daniweb.com/tutorials/tutorial19997.html.
Are there more information somewhere online?
Thanks
I studied the HECK out of ASP classes. I spent a lot of time doing it.
Classes in ASP don't really seem to be all that worth it in most
cases. I haven't really found any of my code that benchmarks faster as
a class in ASP. I don't personally waste my time with them ... and I
use a lot of classic asp still. But here is a starter anyway.
There are two primary uses for classes in ASP neither of which have to do
with performance.
1) Manage complexity. There comes a point where the requirements of an
application can reach a level of complexity which can't easily be handled by
procedural approach alone. An OO design helps to manage that and Classes in
VB can help implement an OO design. Of course a level complexity that
requires this would probably be best implemented in another language which
exposes components to be consumed by ASP.
2) Manage indentifier namespace. VBScript does not contain the concept of a
module which contain private variables and procedure not accessible outside
the module. This can be a problem in ASP application which stores libraries
of useful utilities in include files. For any ASP page that wants to
include one or more such libraries ALL functions and variables must use a
unique identifier. This includes functions and variables only actually used
internally by the library.
By implementing a library as a Class the class can expose only those
functions and properties that consuming code need access to. Additional
those public identifiers will not polute the global namespace since they
will now be prefixed by the name of an object variable. This especially
important when you have a team of developers; that don't need to check with
all other developers and all other modules whether a specific name is
available for use. E.g,-
'Include1.asp
<%
Class Include1
Public Function DoSomething()
End Function
End Class
%>
'Include2.asp
<%
Class Include2
Public Function DoSomething()
End Function
End Class
%>
'Consumer.asp
<!-- #include virtual="/library/Include1.asp" -->
<!-- #include virtual="/library/Include2.asp" -->
<%
Dim o1 : Set o1 = New Include1
Dim o2 : Set o2 = New Include2
o1.DoSomething
o2.DoSomething
%>
>
<%
<snipRemoved code not showing anything not already present in link the OP
had already indicated had been read.</snip>
%>
--
Anthony Jones - MVP ASP/ASP.NET