Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Uso de Compononetes para reutilizar codigo (abuso de la tecnica) (https://www.clubdelphi.com/foros/showthread.php?t=52107)

olmecas 10-01-2008 18:41:33

Uso de Compononetes para reutilizar codigo (abuso de la tecnica)
 
Hola, estoy utilizando las versiones explorer de delphi y turbo c++ , al principio me encabritaba el no poder utilizar la tecnica de creacion de nuevos componentes, pero me puse a pensar que tanto los necesitaba, hace unos años comenze directamente a usar el cbuilder (pirata) con todas las caracteristicas y creo que abusaba de la tecnica de reutilizacion de codigo y me pasaba horas buscando componentes en lugar de generar yo mismo el codigo

Hay otras maneras de generar codigo organizado y reutilizarlo, estan las dll, las plantillas de codigo y los TFrame , aunque es emocionante la reutilzacion mediante la tecnica de componentes creo que podemos abusar demasiado de esta

y creo que al fin veo la utilidad de las versiones express, te permiten centrarte mas en el codigo y no abusar de funcionalidades que realmente uno no domina al 100% y solo abusa de estas

Ademas en las condiciones en que se entregan estas versiones express son a mi ver muy superiores a las versiones de visual studio 6 que de rad tenian poco, y creo que se pueden hacer aplicaciones muy potentes con estas versiones

Se hicieron programas muy potentes con software mucho peor

Aunque considero que uno deberia aportarle algo de dinero a borland, las versiones estandard de visual studio son muy faciles de conseguir en Mexico y cuestan alrededor de 2000 pesos (200 dlls) aunque son entornos completos con todos los lenguajes creo

No tengo una idea exacta de cuanto cuestan las de borland pero creo que andan alrededor de los 400 dlls por lo menos con lo que he visto en la web y no se si las mandan a mexico

Recomiendo utilizar una aplicacion llamada ClassBuilder para generar clases en C++

maeyanes 10-01-2008 18:50:28

Hola...

Yo creo que utilizar componentes no es abusar de una técnica, al contrario, te da la oportunidad en enfocarte a lo que realmente necesitas implementar...

Si ya existen componentes que te ayudan, por ejemplo, a mostrar datos en forma de una tabla (grid), o editar campos de un registro de una base de datos (TDBEdit), para que programar de nuevo tu mismo esa funcionalidad? Estarías perdiendo mucho tiempo simplemente "reinventando la rueda"...


Saludos... :)

mamcx 10-01-2008 20:27:57

No necesitas el IDE para usar componentes. Se pueden reusar por codigo.

Lo unico que se pierden en las versiones turbo es el uso de componentes visualmente en el diseñador de formulario.

jachguate 10-01-2008 20:40:30

Hay que mantener un balance.

Si de pronto tenes que hacer una aplicación orientada a bases de datos, con interacción con la web (envío de correos, subida de cotizaciones via ftp), con una interfaz muy rica (quizás QuantumGrid, o algo de las Jedi), podrías aprender a hacerlo todo por código... pero te vas a tardar mucho.

La ventaja de usar componentes es que, como ya ha dicho maeyanes, podes concentrarte en desarrollar la parte funcional de tu aplicación, y delegar las tareas que he mencionado a los especialistas. :)

El precio de los Turbos Pro me parece adecuado, si desarrollas dichas aplicaciones profesionalmente, debieras considerarlo un costo de operación.

Por cierto, CodeGear no solo envía el producto, sino que cuenta con un representante en méxico, que seguro te brinda soporte local, capacitación, etc.

Hasta luego.

;)

olmecas 15-01-2008 02:02:50

Uso o abuso de componentes
 
Cita:

Empezado por maeyanes (Mensaje 257236)
Hola...

Yo creo que utilizar componentes no es abusar de una técnica, al contrario, te da la oportunidad en enfocarte a lo que realmente necesitas implementar...

Si ya existen componentes que te ayudan, por ejemplo, a mostrar datos en forma de una tabla (grid), o editar campos de un registro de una base de datos (TDBEdit), para que programar de nuevo tu mismo esa funcionalidad? Estarías perdiendo mucho tiempo simplemente "reinventando la rueda"...


Saludos... :)

Hola , me parece que hay un problema, tienes razon en que no hay que reinventar la rueda, pero que tal si la rueda esta mal hecha, usas un componente de terceros que realmente funciona mal pero a primera vista funciona de pelos, y ese error lo arrastras en errores de la parte funcional, porque hay que ser sinceros los cientos de componentes que andan en la red son hechos por fanaticos, tal vez muchos sean sorprendentes profesionales, pero muchos de estos componentes los hacen por juego por hobbie, lamentablemente los componentes gratis no son ni la mitad de estables que los residentes en el programa de borland, ademas causan verdaderos problemas cuando intentas migrar a otra version del borland, o usarlos en grupo, ya que si un miembro del grupo no tiene instalado el componente, tendra problemas al correr la aplicacion, no asi los que vienen de fabrica perfectamente estables y funcionales y STANDARES

Si es cierto un componente de tercero ahorra tiempo, ¿pero siempre valen la pena ponerlos? los componentes de terceros son como cajas de sorpresas, en cambio si hacemos sencillos artilugios tal vez podamos ahorrarnos el uso de un componente extraño, el cual habria que aprender como se usa y que es mas facil de entender un codigo que uno hace o un codigo que hace magicamente la funcion que queremos, cual es mas confiable

No niego la existencia de componentes perfectamente estables y faciles de instalar o migrar entre versiones o compartir entre un grupo de trabajo , pero como lo exige una primitiva logica o razonamiento entre mejores esten mas caros han de estar

jachguate 16-01-2008 07:16:20

Cita:

Empezado por olmecas (Mensaje 258144)
lamentablemente los componentes gratis no son ni la mitad de estables que los residentes en el programa de borland, ademas causan verdaderos problemas cuando intentas migrar a otra version del borland, o usarlos en grupo, ya que si un miembro del grupo no tiene instalado el componente, tendra problemas al correr la aplicacion, no asi los que vienen de fabrica perfectamente estables y funcionales y STANDARES

Creo que el problema está en generalizar.

En mi opinión:
No todos los componentes de terceros son buenos.
No todos los componentes de terceros son malos.

Algunos componentes de terceros, de hecho, vienen "de paquete" con delphi, pero no por ello dejan de ser de terceros (no digo que sean buenos o malos, cada quien que lo evalúe):

TeeChart: comercial de Steema Software
Quick Reports: comercial de QuSoft
Indy: Libre del proyecto indy
IntraWeb: comercial de Atozed Software

Creo que también depende del enfoque.

Personalmente, estoy de acuerdo que en ciertas ocasiones es mejor hacer un componente propio, o realizar una rutina para cierta tarea, que usar un componente x.

Pero tampoco creo que me resulte rentable desarrollar mi propia biblioteca para hacer tcp/ip, cuando tengo las INDY, que funcionan muy bien, a mi manera de ver, y en cambio me han ahorrado una enormidad de tiempo.

Digamos que puedo volverme muy ducho en INDY quizás en unas 40 a 60 horas de aprendizaje mas práctica. Desarrollar algo similar por mi cuenta, en cambio, sería una tarea titánica.

De la misma manera, uso algunos componentes del proyecto jedi (principalmente lo que antes eran las rx). La razón: la misma.
Mi tarea (y lo que mis clientes pagan) es desarrollar una aplicación que les permita cotizar y enviar el documento por correo (por poner un ejemplo). Si yo voy con un presupuesto de tropotiocientos mil porque le cargaré 300 o 3000 horas para desarrollar un suite medio-decente que me permita enviar un mensaje via smtp, creo que voy perdido.

Mañana, si viene un cliente que quiere comunicación serial, seguramente usaré cierto componente, que me han recomendado muy bien, pues tampoco creo poner mi tiempo en reinventar esa rueda.

Cita:

Empezado por olmecas (Mensaje 258144)
lSi es cierto un componente de tercero ahorra tiempo, ¿pero siempre valen la pena ponerlos?

No, no siempre vale la pena ponerlos... pero ¿nunca vale la pena ponerlos?

Creo que determinar eso es responsabilidad de cada quien.

olmecas 17-01-2008 02:25:11

.............

olmecas 17-01-2008 02:27:16

Cita:

Empezado por jachguate (Mensaje 258373)
Creo que el problema está en generalizar.

Mañana, si viene un cliente que quiere comunicación serial, seguramente usaré cierto componente, que me han recomendado muy bien, pues tampoco creo poner mi tiempo en reinventar esa rueda.


No, no siempre vale la pena ponerlos... pero ¿nunca vale la pena ponerlos?

Creo que determinar eso es responsabilidad de cada quien.

Ciertamente que vale la pena ponerlos si se justifica, los componentes que citas son proyectos comerciales plenamente desarrollados, no los que se dan gratis en la red que es mas que nada a los que yo me refiero

Los rx que yo alguna vez puse en su mayoria eran los mismos componentes VCL embellecidos un tanto me imagino que habran cambiado aunque no se que tanto

De hecho vuelvo a poner mis dudas, los componentes son utiles sin lugar a dudas ¿pero es la unica forma de reutilizar codigo? eso me pregunto yo, no lo creo existen otras formas, por ejemplo una libreria de funciones en una dll , debe haber otras maneras ademas de esta para reutilizar codigo, no creo que sea bueno limitarse a la utilizacion de componentes

curiosamente los componentes que citas no es tan primordial que existan en la paleta de componentes(no asi los componentes visuales como un TEdit), se pueden poner directamente en el codigo del programa, y la elaboracion de componentes aun existe en las versiones explorer solo que no se pueden registrar en la paleta, tal vez aunque no lo he probado aun se puedan usar los INDY mediante codigo creandolos en tiempo de ejecucion

Ademas que tan serio es usar un componente para resolver un problema que tal vez mereciera mas estudio, que tan serio es presentar un proyecto con un componente que apenas compraste un dia anterior y que no lo conoces del todo

me imagino que para la presentacion de un prototipo rapido tal vez sea suficiente pero para un proyecto serio hay que tener bien checado el componente

Por otro lado me gustaria mas apoyo para las versiones express de borland del que tienen ahorita, solo hay que ver el soberbio apoyo que microsoft ha dado a las versiones express de su visual studio

egostar 17-01-2008 02:38:00

Hola olmecas

He intentado entender el fondo de lo que dices pero no llego a nada

Primero dices

Cita:

y creo que al fin veo la utilidad de las versiones express, te permiten centrarte mas en el codigo y no abusar de funcionalidades que realmente uno no domina al 100% y solo abusa de estas
Después

Cita:

De hecho vuelvo a poner mis dudas, los componentes son utiles sin lugar a dudas ¿pero es la unica forma de reutilizar codigo? eso me pregunto yo, no lo creo existen otras formas, por ejemplo una libreria de funciones en una dll , debe haber otras maneras ademas de esta para reutilizar codigo, no creo que sea bueno limitarse a la utilizacion de componentes
Y finalmente

Cita:

Por otro lado me gustaria mas apoyo para las versiones express de borland del que tienen ahorita, solo hay que ver el soberbio apoyo que microsoft ha dado a las versiones express de su visual studio
Cual es el punto, no lo entiendo.

Salud OS

Paoti 17-01-2008 18:47:28

Yo sí estoy a favor de utilizar componentes.

precisamente, debido a un producto creado con VB, y por otra parte la seguridad del cliente, un elemento de envio de mails era incompatible.


buscando en el foro, en google, di con una página que daba solución al requerimiento.


aunado a código de aquí y de allá, logre dar una solucuón inetresante.


el gasto para el código (que no eran componentes sino puro y vil código) no represento problema alguno para mis jefes. siempre y cuando les diera una solucuón.


si no se hubiera adquirido esa solución, tardarria mucho en yo poder crear algo decente que se ameje a todo el código.


Hay más cosas buenas que malas.


Hay componentes open source y freeware muy buenos.

Así como de pago.


-Paoti.


La franja horaria es GMT +2. Ahora son las 05:08:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi