Usando Componentes [opiniao]

29/12/2005

bom pessoal, nao sou um programador profissional, estou engatinhando na arte do desenvolvimento porem possuo conhecimento razoavel da programacao orientada a objetos mas ainda me faltam muitos conhecimentos a respeito ...
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

Respostas

30/12/2005

Raserafim

em partes isso é verdade sim. mas não usar componentes no form pode estar querendo dizer duas coisas:
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.


Responder Citar

30/12/2005

Titanius

Em certos pontos está certo... mas cai entre nós... porque reinventar a roda? de certo temos que evitar componentes ´bobos´ como disse o amigo acima, mas usar componentes, não vejo nada de amador nisso, levando em consideracao que usar alguns componentes é até mais dificil do que o proprio delphi.. hehe...

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


Responder Citar

30/12/2005

Eixox

quando você fala
Comecei a conviver com alguns programadores delphi de [b:abdc6d133c]nivel mais avançado que o meu[/b:abdc6d133c], e de todos obtive a mesma resposta quando falava que para programar utilizava componentes inseridos nos forms: ´utilizar componentes é coisa de amador´


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...


Responder Citar

30/12/2005

Fernando_cunha

quando você fala [quote:a9e7c8887f] Comecei a conviver com alguns programadores delphi de [b:a9e7c8887f]nivel mais avançado que o meu[/b:a9e7c8887f], e de todos obtive a mesma resposta quando falava que para programar utilizava componentes inseridos nos forms: ´utilizar componentes é coisa de amador´


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)


Responder Citar

30/12/2005

Eixox

Não querendo dizer que eu sou [u:18a0d85b5a]´o caminho, a verdade e a vida´[/u:18a0d85b5a], mas acho que você está perdendo tempo reinventado a roda. O que você está fazendo já está feito. Use o que a Borland deu para você, é um código extremamente limpo e completo - não estou querendo dizer que o que você está fazendo é porcaria, perca tempo desenvolvendo a melhor interface, promovendo uma melhor interação entre aplicação e usuário.

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.


Responder Citar

30/12/2005

Weber

Estou de pleno acordo com eixox, aqui também não usamos componentes de terceiros.
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´.


Responder Citar