MODULO X MODULO DE CLASSE
Pessoal eu enviei um projeto para um amigo e ele comentou
que eu havia colocado muita coisa no formulario, a única coisa que
coloco no Módulo é a conexão com o banco de dados.
Gostaria de saber qual é a diferença entre Modulo e Modulo de Classe
e se possÃvel algum exemplo do que pode ser colocado em cada um deles
e porque seria melhor do que colocar no próprio formulario como eu venho
fazendo.
que eu havia colocado muita coisa no formulario, a única coisa que
coloco no Módulo é a conexão com o banco de dados.
Gostaria de saber qual é a diferença entre Modulo e Modulo de Classe
e se possÃvel algum exemplo do que pode ser colocado em cada um deles
e porque seria melhor do que colocar no próprio formulario como eu venho
fazendo.
O módulo serve para vc colocar funções públicas ...... tipo aquela EnviaTecla, pois todos os formulários utilizarão esta função. O problema que quando vc coloca uma determinada função no modulo, ao carregar o programa as funções de todos os modulos são carregados na memória, e ai o programa vai exigir mais memoria do computador.
Para evitar consumo de memoria é aconselhavel criar classes, mas deste que as funções sejam coerentes.
Ex: Se vc tem várias funções para trabalhar com forms, tipo colocar skin no formulario, bloquear o [Ô]X[Ô] do fechar o form, Colocar o canto do formulario arredondado, deixar o formulário transparente, etc ..... tudo relativo a formulario.
Vamos dizer que vc tenha uma classe por nome cEffectForm, e nela contem todas as funções acima citada.
Para utiliza-la vc deve fazer assim
dim EffectForm as new cEffectForm [ô]aqui vc cria uma instancia ou copia da classe
EffectForm.ColocaTransparenciaFormulario(Me) [ô]aqui vc executa a função da classe no seu form
Set EffectForm = nothing [ô]aqui vc destroi a classe pois nao ha mais necessidade dela, liberando memoria ao computador
vou postar um exemploooo
Para evitar consumo de memoria é aconselhavel criar classes, mas deste que as funções sejam coerentes.
Ex: Se vc tem várias funções para trabalhar com forms, tipo colocar skin no formulario, bloquear o [Ô]X[Ô] do fechar o form, Colocar o canto do formulario arredondado, deixar o formulário transparente, etc ..... tudo relativo a formulario.
Vamos dizer que vc tenha uma classe por nome cEffectForm, e nela contem todas as funções acima citada.
Para utiliza-la vc deve fazer assim
dim EffectForm as new cEffectForm [ô]aqui vc cria uma instancia ou copia da classe
EffectForm.ColocaTransparenciaFormulario(Me) [ô]aqui vc executa a função da classe no seu form
Set EffectForm = nothing [ô]aqui vc destroi a classe pois nao ha mais necessidade dela, liberando memoria ao computador
vou postar um exemploooo
a classe tambem serve para encapsular (esconder) o conteudo das classes.
Evitando muito codigo nos formularios, como disse quando vc carrega o programa, o que ta no form e no modulo e carregado tudo na memoria do computador, com a classe so e carredo somente quando vc instancia a classe ...
imagine uma enorme função, digamos umas 5000 linhas de codigos, no seu formulario?
a hora que vc carrega o formulario vc gastaria memoria, e ao descarregar o formulario liberaria memoria,
se for no modulo iria ocupar memoria ate vc encerrar o programa.
Então ao criar seu programa pense bem.
1 - Utilize classes
2 - Formularios
3 - Modulos
Sempre nesta sequencia .... será que fui claro?
Evitando muito codigo nos formularios, como disse quando vc carrega o programa, o que ta no form e no modulo e carregado tudo na memoria do computador, com a classe so e carredo somente quando vc instancia a classe ...
imagine uma enorme função, digamos umas 5000 linhas de codigos, no seu formulario?
a hora que vc carrega o formulario vc gastaria memoria, e ao descarregar o formulario liberaria memoria,
se for no modulo iria ocupar memoria ate vc encerrar o programa.
Então ao criar seu programa pense bem.
1 - Utilize classes
2 - Formularios
3 - Modulos
Sempre nesta sequencia .... será que fui claro?
Me diz uma coisa, o que muda se eu colocasse esses códigos em um módulo comum?
E se os colocasse no próprio formulario (como sempre faço)?
MaIs uma vez aproveito para agradecer pela grande ajuda que tens me dado.
Deus te abençoe grandemente...
E se os colocasse no próprio formulario (como sempre faço)?
MaIs uma vez aproveito para agradecer pela grande ajuda que tens me dado.
Deus te abençoe grandemente...
JORGESALES,
Se você quiser fazer uma separação bem legal, utilize também [Ô]camadas[Ô] em seu sistema.
* DAL - Data Acess Layer - Camada de acesso ao banco de dados.
-------------------------------------------------------------------------------
Tutorial 1: Creating a Data Access Layer
https://msdn.microsoft.com/en-us/library/aa581776.aspx
-------------------------------------------------------------------------------
* BLL - Business Logic Layer - Camada da Regra de Negócios do Sistema.
-------------------------------------------------------------------------------
Tutorial 2: Creating a Business Logic Layer
https://msdn.microsoft.com/en-us/library/aa581779.aspx
-------------------------------------------------------------------------------
* UI - User Interface - Interface do usuário trata somente da visualização dos formulários para o usuário.
-------------------------------------------------------------------------------
Designing a User Interface (Visual C#)
https://msdn.microsoft.com/en-us/library/ms173080(v=vs.90).aspx
-------------------------------------------------------------------------------
* Model - Modelo da base de dados para uma comunicação entre as camadas.
Veja em:
-------------------------------------------------------------------------------
VB - Criando uma aplicação em 3 camadas
http://www.macoratti.net/vb_3cam.htm
-------------------------------------------------------------------------------
[][ô]s,
Tunusat.
Se você quiser fazer uma separação bem legal, utilize também [Ô]camadas[Ô] em seu sistema.
* DAL - Data Acess Layer - Camada de acesso ao banco de dados.
-------------------------------------------------------------------------------
Tutorial 1: Creating a Data Access Layer
https://msdn.microsoft.com/en-us/library/aa581776.aspx
-------------------------------------------------------------------------------
* BLL - Business Logic Layer - Camada da Regra de Negócios do Sistema.
-------------------------------------------------------------------------------
Tutorial 2: Creating a Business Logic Layer
https://msdn.microsoft.com/en-us/library/aa581779.aspx
-------------------------------------------------------------------------------
* UI - User Interface - Interface do usuário trata somente da visualização dos formulários para o usuário.
-------------------------------------------------------------------------------
Designing a User Interface (Visual C#)
https://msdn.microsoft.com/en-us/library/ms173080(v=vs.90).aspx
-------------------------------------------------------------------------------
* Model - Modelo da base de dados para uma comunicação entre as camadas.
Veja em:
-------------------------------------------------------------------------------
VB - Criando uma aplicação em 3 camadas
http://www.macoratti.net/vb_3cam.htm
-------------------------------------------------------------------------------
[][ô]s,
Tunusat.
Citação:Me diz uma coisa, o que muda se eu colocasse esses códigos em um módulo comum?
Nada ... apenas consumo de memória como disse ......... antigamente os vbmaniacos usavam só ele, depois eles descobriram o poder das classes
Citação:E se os colocasse no próprio formulario (como sempre faço)?
Se for pra escolher entre um e outro, melhor no formulario.
A classe veio na versão 4 ou 5 do VB. Antigamente todos colocavam codigos no modulo ou formularios.
A classe veio atender a base de programação a objetos, mas o vb6 não atende todos os requisitos.
Vamos supor que vc tenha 5 formularios, e que dentro vc tenha uma mesma função em todos os formularios. Se houver uma mudança na função, vc teria que corrigir a mesma função nos 5 formularios. Se utilizar a classe ai vc vai fazer isso so uma vez. Apesar que poderia utilizar um modulo tambem ...... mas a classe fica mais organizada.
Lembre-se com o exemplo que citei ..... se vc tem função que tenha o mesmo genero então e melhor utilizar classe. A classe ajuda enchugar codigo dos formularios.
Leia isso pra entender o poder das classes
http://www.macoratti.net/vb56_oop.htm
http://www.macoratti.net/vb_class.htm
http://www.macoratti.net/vbn_ccco.htm
http://www.macoratti.net/net_ica1.htm
Tópico encerrado , respostas não são mais permitidas