Wednesday, February 28, 2007

VBScript Classes - Porque não??

E se…

…em vez de, nos nossos ASP's, usarmos funções e variaveis globais e asp's disto e daquilo, e de estruturas definidas com base apenas no bom senso (o que pode ser bom! Ou não… :)), utilizássemos classes??

Pois é, é extremamente fácil utilizar classes em VBScript, ainda que de forma limitada, mas que nos permite tirar partido de muitas vantagens de programar utilizando o paradigma OO!

Para declarar uma classe em VBScript com, por exemplo, 1 atributo privado, 1 atributo publico, 1 metodo privado e 1 metodo público, precisamos apenas disto:

<%
Class minhaClasse

'Atributos
Private meuAtribPrivado
Public meuAtribPublico

'Métodos privados
Private Sub meuMetodoPrivado
meuAtribPrivado = "
este é o atributo privado"
End Sub

'Métodos publicos
Function meuMetodoPublico
meuMetodoPrivado
Response.Write meuAtribPrivado
End Function

End Class
%>


E para utilizar a classe, precisamos apenas disto:

<%
Dim minhaInstanciaClasse
Set minhaInstanciaClasse = New minhaClasse
minhaInstanciaClasse.meuMetodoPublico
minhaInstanciaClasse.meuAtribPublico = "
este é o atributo publico"
Response.Write minhaInstanciaClasse.meuAtribPublico
%>


O output deste pequeno exemplo é este:

este é o atributo privado
este é o atributo publico

Simples, não é?? E o código fica claramente mais organizado! Experimentem colocar todo este codigo no mesmo asp para testar e podem tirar vantagens da utilização do Intellisense.

Algumas sugestões:
- criar um ficheiro asp por cada classe. Podem incluir os ficheiros de classes com a instrução ""
- atribuir ao nome do ficheiro o mesmo nome da classe
- trabalhar apenas com classes, excepto no entry point do sistema, que instancia a(s) classe(s), por exemplo, num main.asp (resistir à tentação de usar o paradigma procedimental! :))
- utilizar o padrão MVC! :) Ajuda a organizar a cabecita!! Parafraseando: "The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts: the model, the view, and the controller." Experimentem, experimentem!

Alguns sites que podem consultar:
- VBScript Classes:
http://www.4guysfromrolla.com/webtech/092399-1.shtml (uma introdução simples à utilização de OO e VBScript Classes)
http://www.activexperts.com/axscript/vbscriptclasses/ (outro artigo muito incisivo sobre a utilização de classes)
http://www.google.pt/search?hl=pt-PT&q=vbscript+classes&meta= :)
- MVC:
http://en.wikipedia.org/wiki/Model-view-controller (uma introdução)
http://ootips.org/mvc-pattern.html (outra introdução)
http://www.google.pt/search?hl=pt-PT&q=mvc&meta= :))

Divirtam-se!

:)



No comments: