COMO FAZER CADASTRO COM OO?
Prezados colegas,
Eu já tenho estudado o desenvolvimento de software usando OO (VB.NET).Não tenho
dificuldade para compreender os conceitos.Mas,a aplicação “prática†esta sendo minha
maior dificuldade.Isto acontece,porque quando procuro exemplos na internet,vejo cada
desenvolvedor implementando OO de modo diferente.Por isto,peço o seguinte esclarecimento aos colegas:
Problema:
Digamos que tenho que fazer um simples cadastro de “Clientes†em OO (VB.NET)
Como ponto de partida,digamos que eu modelei meu BD,criando uma tabela chamada “TbClienteâ€
Obs: Os seguintes campos
- Nome
- End
- Tel
Dúvidas iniciais:
1.) Em OO,o correto é criar uma classe onde cada campo da tabela (Nome,End e Tel) ,tenha
um atributo correspondente na classe??????:
Classe: ClCliente
Atributos: Nome,End e Tel
Métodos: Adicionarcliente,Deletarcliente,editarcliente e Pesquisarcliente
2.) A Classe que irá realizar o CRUD,deverá ser instanciada a partir desta classe de dados que criei????
3.) Terei de ter para cada tabela do BD (TbCliente,TbFornecedor,TbFuncionario,etc...),uma classe
correspondente no meu projeto,para manipular esta tabela?
Eu já tenho estudado o desenvolvimento de software usando OO (VB.NET).Não tenho
dificuldade para compreender os conceitos.Mas,a aplicação “prática†esta sendo minha
maior dificuldade.Isto acontece,porque quando procuro exemplos na internet,vejo cada
desenvolvedor implementando OO de modo diferente.Por isto,peço o seguinte esclarecimento aos colegas:
Problema:
Digamos que tenho que fazer um simples cadastro de “Clientes†em OO (VB.NET)
Como ponto de partida,digamos que eu modelei meu BD,criando uma tabela chamada “TbClienteâ€
Obs: Os seguintes campos
- Nome
- End
- Tel
Dúvidas iniciais:
1.) Em OO,o correto é criar uma classe onde cada campo da tabela (Nome,End e Tel) ,tenha
um atributo correspondente na classe??????:
Classe: ClCliente
Atributos: Nome,End e Tel
Métodos: Adicionarcliente,Deletarcliente,editarcliente e Pesquisarcliente
2.) A Classe que irá realizar o CRUD,deverá ser instanciada a partir desta classe de dados que criei????
3.) Terei de ter para cada tabela do BD (TbCliente,TbFornecedor,TbFuncionario,etc...),uma classe
correspondente no meu projeto,para manipular esta tabela?
Citação:1.) Em OO,o correto é criar uma classe onde cada campo da tabela (Nome,End e Tel) ,tenha
um atributo correspondente na classe??????:
Sim, essa é uma das possibilidades. Implementar Table per Class torna a aplicação mais proxima da OOP.
Vai depender muito do tipo de projeto que esteja implementando e as prioridades no quesito desempenho.
Citação:2.) A Classe que irá realizar o CRUD,deverá ser instanciada a partir desta classe de dados que criei????
Aqui você pode criar uma camada DAO para tratar as consultas do BD. Depois disso você tem duas estratégias, que são: chamar os metodos da DAO na Classe de Negocio, ou chamar o DAO direto na camada de apresentação mesmo.
Citação:3.) Terei de ter para cada tabela do BD (TbCliente,TbFornecedor,TbFuncionario,etc...),uma classe
correspondente no meu projeto,para manipular esta tabela?
Sim, é o mais indicado, mas existem outras estratégias como criar um tabelão para a hierarquia de classes e se basear por um delimitador.
vlw
Pra complementar, seria bom vc dá uma pesquisada em design patterns como MVC e Layers. Pode te orientar também nas tuas decisões.
Pessoal,com relação a resposta número [Ô]2[Ô]...
Eu não entendi muito bem.Esta [Ô]classe de dados[Ô],que eu citei.Que irá representar a tabela do BD
(TbCliente) e seus campos.
Eu posso criar nesta classe ,os métodos CRUD e acessar a partir destes métodos a classe de acesso ao
Banco de Dados????
Eu não entendi muito bem.Esta [Ô]classe de dados[Ô],que eu citei.Que irá representar a tabela do BD
(TbCliente) e seus campos.
Eu posso criar nesta classe ,os métodos CRUD e acessar a partir destes métodos a classe de acesso ao
Banco de Dados????
Marcos.
Como foi dito, você pode utilizar uma Camada dao.
Ex:
Public Class clientes
Public Property codigo As Int32
Public Property nome As String
End Class
E depois a camada dao, que vai conter os metodos.
Public Class daoClientes
Public Sub incluir(ByVal c As clientes)
[ô]sql incluir clientes
End Sub
Public Sub excluir(ByVal c As clientes)
[ô]sql excluir clientes
End Sub
End Class
Abraços
Como foi dito, você pode utilizar uma Camada dao.
Ex:
Public Class clientes
Public Property codigo As Int32
Public Property nome As String
End Class
E depois a camada dao, que vai conter os metodos.
Public Class daoClientes
Public Sub incluir(ByVal c As clientes)
[ô]sql incluir clientes
End Sub
Public Sub excluir(ByVal c As clientes)
[ô]sql excluir clientes
End Sub
End Class
Abraços
GUIMORAES,
Seu exemplo é simples e muito bom.
Mas,se os colegas puderem esclarecer o seguinte eu agradeço:
1.) No exemplo do GUIMORAES,é dentro da classe [Ô]clientes[Ô] , que terei de criar os métodos necessários para executar os métodos da classe [Ô]daoclientes[Ô]???
Seu exemplo é simples e muito bom.
Mas,se os colegas puderem esclarecer o seguinte eu agradeço:
1.) No exemplo do GUIMORAES,é dentro da classe [Ô]clientes[Ô] , que terei de criar os métodos necessários para executar os métodos da classe [Ô]daoclientes[Ô]???
Marcos boa tarde.
Também tive várias dúvidas e ainda aparecerão muitas, mas o livro Desenvolvimento em Camadas com C# .Net da Visual Books, de Carlos Olavo de Azevedo Camacho Júnior, detalha muito claramente a criação de uma estrutura de classes para acesso completo a banco de dados (insert, updates, select e delete). Apesar de ser m C#, os conceitos e exemplos são facilmente compreendidos para quem usa VB. Eu estou migrando do VB6 para C# com relativa facilidade, depois de ler esse livro, muito claro na explicação e exemplos de uma aplicação simples, mas completa.
Se não me engano, há um livro semelhante para VB.net. Faça uma pesquisa e acho que resolverá suas dúvidas de uma vez.
Nota: Basicamente são aconselháveis a craição de 4 camadas:
- modelos
- acesso a dados
- negócios
- interface cliente
Também tive várias dúvidas e ainda aparecerão muitas, mas o livro Desenvolvimento em Camadas com C# .Net da Visual Books, de Carlos Olavo de Azevedo Camacho Júnior, detalha muito claramente a criação de uma estrutura de classes para acesso completo a banco de dados (insert, updates, select e delete). Apesar de ser m C#, os conceitos e exemplos são facilmente compreendidos para quem usa VB. Eu estou migrando do VB6 para C# com relativa facilidade, depois de ler esse livro, muito claro na explicação e exemplos de uma aplicação simples, mas completa.
Se não me engano, há um livro semelhante para VB.net. Faça uma pesquisa e acho que resolverá suas dúvidas de uma vez.
Nota: Basicamente são aconselháveis a craição de 4 camadas:
- modelos
- acesso a dados
- negócios
- interface cliente
Citação:1.) No exemplo do GUIMORAES,é dentro da classe [Ô]clientes[Ô] , que terei de criar os métodos necessários para executar os métodos da classe [Ô]daoclientes[Ô]???
Sim, mas cuidado com as indireções, pois toda vez que você passa uma responsabilidade para outro objeto fazer e que ele mesmo poderia fazer, se chama indireção.
vlw
No exemplo que eu realizei, são classes separadas.
Na classe de Negócios, está o daoClientes, que contem os métodos.
Qualquer duvida posta ai.
Abraços
Na classe de Negócios, está o daoClientes, que contem os métodos.
Qualquer duvida posta ai.
Abraços
Tópico encerrado , respostas não são mais permitidas