Usando Componentes [opiniao]
29/12/2005
0
Para Tocar um projeto sempre me utilizei de componentes, configurava as propriedades e botava pra funcionar ... nao fazia a menor ideia do que se passava por tras do programa e etc. Comecei a conviver com alguns programadores delphi de nivel mais avançado que o meu, e de todos obtive a mesma resposta quando falava que para programar utilizava componentes inseridos nos forms:
´utilizar componentes é coisa de amador´
queria saber até que ponto essa afirmação é valida, programadores profissionais que utilizam o forum por favor expressem sua opiniao a respeito da frase acima ...
um desses programadores ja chegou a me dizer que quanto menos componentes inseridos no form melhor, que o controle sobre a aplicacao é maior e que tudo deve ser criado em runtime ...
ou melhor, o ideal seria escrever uma classe para manipular esses objetos e os dados de um tipo especifico de BD ...
Dada tal afirmacao comecei a criar uma classe para manipulacao de dados em banco MySQL utilizando ODBC, estou progredindo aos poucos mas em alguns pontos confesso estar bem perdido hehehehehe ...
postem o que voces acham ..
vai me ajudar bastante
[]sss 8)
Fernando_cunha
Posts
30/12/2005
Raserafim
1º só se deve usar componentes no form que diz respeito ao form, ou seja, não se deve colocar componentes de BD no form, e sim em DataModules.
2º deve-se evitar usar todo tipo de componentes de terceiros, dá preferência sempre aos componentes nativos. e evitar alguns componentes que dá algumas facilidades bestas que podem ser feitas facilmente via código, como o ActionList. o ideal é realmente ter o máximo de controle sobre o sistema. mais pra frente vc vai perceber e sentir na pele isto.
30/12/2005
Titanius
Eu uso componentes sim, porém no momento estou tomando cuidado com 2 coisas, se ele eh free, e tem codigo aberto... pois fica facil pra migrar pra outro delphi.. estou usando somente o JEDI e um pra relatorio(pago), eles me atendem a tudo e a todos...
[]s
30/12/2005
Eixox
Você tem certeza que todos estão num nível mais avançado que você?
Quando alguém diz que ´utilizar componentes é coisa de amador´, essa pessoa pode estar querendo dizer duas coisas: a primeira é que não entende nada de programação e a segunda é bem provável que não tenha se expressado corretamente.
Vejamos: Visual Basic, Visual C++, Delphi, as IDE´s Java - todas utilizam componentes. É coisa de amador? Claro que não.
Os componentes nada mais são do que diversos objetos separados por classes e que proporcionam um maior controle para o usuário. Assim podemos criar novos form´s e componentes de acesso a dados personalizados - como nós queremos.
A utilização de componentes é uma estratégia para o desenvolvimento rápido de aplicações (RAD). Não é a ´torta e a direita´ que o Delphi é uma das plataformas de desenvolvimentos mais utilizadas no mundo.
Quando você aprende a programar orientado a objetos, você ainda tira um proveito maior sobre o uso dos componentes. Pode extrair ou criar novos componentes personalizados de acordo com as sua necessidades e recursos - pode inclusive transportá-lo para outras versões e até outras plataformas com diferentes linguagens de programação.
Com relação ao uso dos componentes - na minha empresa temos a seguinte opnião: não usamos componentes que não sejam nativos, isto é, não instalamos novos componentes de terceiros, usamos somente os que são instalados com o Delphi. Já tivemos muitos problemas de inchaços de código com o uso de outros componentes. Então decidimos por não usar mais.
Com relação ao controle do desenvolvimento da aplicação, quanto mais componentes mais código a ser tratado (geralmente), portanto, quanto menos componentes menos problemas.
A criação em RUNTIME (entende-se EM TEMPO DE EXECUÇÃO) pode ser: você ter que criar o objeto e definir as suas características na ´unha´. [b:abdc6d133c]Pergunta: PARA QUE REINVENTAR A RODA? [/b:abdc6d133c] Quem falou isso é louco provavelmente. Quando você coloca um objeto no Form, ele será criado em runtime da mesma forma - e tem uma vantagem - ´QUEM CRIA UM OBJETO É RESPONSÁVEL POR LIBERÁ-LO DA MEMÓRIA´ - nesse caso, a aplicação se encarrega de destruir os objetos, enquanto que, se você os criar terá que destruir um-a-um, aumentando ainda mais a quantidade de estruturas de controle de erros (try).
Acho melhor você procurar outros programadores que não estejam a fim de farrear com a sua cara e fazendo você perder tempo com coisas sem necessidade. Procure por pessoas que estejam interessadas em promovê-lo e não em rebaixá-lo. Quando eu começei a trabalhar com programação, os [b:abdc6d133c] dinossauros [/b:abdc6d133c] com medo de serem despedidos, faziam de tudo para você pedir as contas.
Falou...
30/12/2005
Fernando_cunha
Você tem certeza que todos estão num nível mais avançado que você?
Quando alguém diz que ´utilizar componentes é coisa de amador´, essa pessoa pode estar querendo dizer duas coisas: a primeira é que não entende nada de programação e a segunda é bem provável que não tenha se expressado corretamente.
Vejamos: Visual Basic, Visual C++, Delphi, as IDE´s Java - todas utilizam componentes. É coisa de amador? Claro que não.
Os componentes nada mais são do que diversos objetos separados por classes e que proporcionam um maior controle para o usuário. Assim podemos criar novos form´s e componentes de acesso a dados personalizados - como nós queremos.
A utilização de componentes é uma estratégia para o desenvolvimento rápido de aplicações (RAD). Não é a ´torta e a direita´ que o Delphi é uma das plataformas de desenvolvimentos mais utilizadas no mundo.
Quando você aprende a programar orientado a objetos, você ainda tira um proveito maior sobre o uso dos componentes. Pode extrair ou criar novos componentes personalizados de acordo com as sua necessidades e recursos - pode inclusive transportá-lo para outras versões e até outras plataformas com diferentes linguagens de programação.
Com relação ao uso dos componentes - na minha empresa temos a seguinte opnião: não usamos componentes que não sejam nativos, isto é, não instalamos novos componentes de terceiros, usamos somente os que são instalados com o Delphi. Já tivemos muitos problemas de inchaços de código com o uso de outros componentes. Então decidimos por não usar mais.
Com relação ao controle do desenvolvimento da aplicação, quanto mais componentes mais código a ser tratado (geralmente), portanto, quanto menos componentes menos problemas.
A criação em RUNTIME (entende-se EM TEMPO DE EXECUÇÃO) pode ser: você ter que criar o objeto e definir as suas características na ´unha´. [b:a9e7c8887f]Pergunta: PARA QUE REINVENTAR A RODA? [/b:a9e7c8887f] Quem falou isso é louco provavelmente. Quando você coloca um objeto no Form, ele será criado em runtime da mesma forma - e tem uma vantagem - ´QUEM CRIA UM OBJETO É RESPONSÁVEL POR LIBERÁ-LO DA MEMÓRIA´ - nesse caso, a aplicação se encarrega de destruir os objetos, enquanto que, se você os criar terá que destruir um-a-um, aumentando ainda mais a quantidade de estruturas de controle de erros (try).
Acho melhor você procurar outros programadores que não estejam a fim de farrear com a sua cara e fazendo você perder tempo com coisas sem necessidade. Procure por pessoas que estejam interessadas em promovê-lo e não em rebaixá-lo. Quando eu começei a trabalhar com programação, os [b:a9e7c8887f] dinossauros [/b:a9e7c8887f] com medo de serem despedidos, faziam de tudo para você pedir as contas.
Falou...[/quote:a9e7c8887f]/
será que como disseram outros usuarios nesse post, nao seria interessante criar alguns componentes em tempo de execucao, como por exemplo os para acesso ao BD???
tbm concordo que o ideal é nao usar componentes de terceiros, e sim utilizar os que vem com o proprio delphi, como eu disse, estou criando uma classe para manipulacao dos dados de minha aplicacao, ela será responsavel pelas rotinas de conexao, rotinas sql, pesquisas, controle de usuarios e tratamentos de erro ... e qual vantagem eu tenho nisso????
reutilizacao do codigo!! ... poderei ter um novo projeto para fazer daki a 2 semanas e a classe estará pronta, apenas será necessario adiciona-la ao projeto. E se eu mudar de BD?? caso isso aconteça terei que fazer pequenas modificaçoes e estara funcionando .. nao sou expert mas creio que uma das propostas da orientacao a objetos é a reutilizacao do codigo ...
porem é fato que criando componentes em runtime sao necessario muitos cuidados, como por exemplo liberar o objeto da memoria, e na apenas isso .. o momento certo de fazer isso é super importante para nao gerar conflitos!!
minha opiniao???
estou criando as rotinas de conexao e acesso ao bd na unha mesmo, estou tendo certas dificuldades mas creio que no final ficará um trabalho limpo e estavel, estou tendo muito cuidado com a eficiencia do codigo para tornar a aplicacao mais rapida e menor ... com certeza em primeira instancia levarei mais tempo do que o normal para concluir o projeto, mas uma vez criado o codigo, poderei reutilizar em outros projetos ..
bem essa é minha opiniao ..
abraços aos que postaram ...
continuem manifestando suas ideias, é super importante para mim, um programador no começo da carreira ouvir o que dizem os mais experientes!!
[]ss 8)
30/12/2005
Eixox
Perca tempo com o seu software, prepare-o para uma implementação futura, verifique a base de dados - perca tempo com isso - fazendo um software ótimo. Desde que começei a desenvolver com Delphi meus professores diziam - aprenda Orientação a Objetos - comprei um dos melhores livros sobre orientação a objetos que já li para Delphi:
BORATTI, Isaias C. [b:18a0d85b5a]Programação Orientada a Objetos usando Delphi[/b:18a0d85b5a]. Florianópolis: VisualBooks
Li, reli, treli... desenvolver objeto - pouquíssimos...
Desenvolva e analise um bom Cadastro de Clientes, deixe-o o mais neutro o possível e você somente copiará as Unit para o seu novo projeto e pronto. Economizou tempo e sabe que funciona.
30/12/2005
Weber
Criamos uma série de componentes para facilitar no nosso desenvolvimento, por exemplo, nosso edit tem um propriedade para definir se o campo é data, número, cpf, cnpj, etc, usando este componente basta coloca-lo na tela e todo tratamento para o tipo de campo já está pronto.
Outro exemplo, nosso componente de pesquisa é uma IBQuery implementada com um form de pesquisa, para usar basta colocar o componente no datamodelo e todos os forms passam a ter acesso a esta tela de pesquisa.
Não há um motivo para ´reinventar a roda´ o melhor a fazer é melhorar o que já existe e como você mesmo disse ´aproveitar o código´.
Clique aqui para fazer login e interagir na Comunidade :)