Me parece perfecto eso de exponer proyectos para trabajarlos con clases,
as� podemos ver exactamente la diferencia entre lo que hab�a antes y lo
que hay ahora.

Un Saludo
Alex 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Xavi Beumala
Sent: mi�rcoles, 21 de enero de 2004 11:39
To: [EMAIL PROTECTED]
Subject: RE: [ASNativos] Flash y POO

Hola Carlos,
El tema que planteas es lo que a muchos le pasa por la cabeza.
Personalmente me he acostumbrado tanto a dise�ar con clases, que si
intento hacer algo a la vieja usanza me vuelvo loco y me sale un churro!

El concepto de POO incumbe varios aspectos como organizaci�n de c�digo y
estructura, modularidad, rehutilizaci�n, abastracci�n, etc. Bueno... En
resumen son los conceptos que comentabas tu, pero creo que restringes
demasiado su significado ;-)

AS, por s� mismo, ha sido siempre un lenguaje muy muy desordenado.
Puedes a�adir c�digo por todos lados... Eso s�, si al cabo de medio a�o
tienes que reabrir esos fla's para modificarlo te volver�s loco buscando
el sitio donde metiste el c�digo (almenos esa es mi experiencia).

Lo primero que te permite AS es centralizar el c�digo a la vez que lo
organizas por conceptos (clases). De esta forma siempre que quieras
modificar algo, algun concepto de funcionamiento, sabras a priori que se
corresponde con una clase.

El tema de la reutilizaci�n... Estoy totalmente de acuerdo, se tiene que
aportar creatividad siempre! Pero no estamos hablando de creatividad
l�gica, sin� de creatividad gr�fica, navegaci�n, etc. El concepto de
reutilizaci�n que introduce OOP es a nivel de programaci�n y no tiene pq
ser s�lo reutilizaci�n en distintos proyectos. Yo reutilizo mucho c�digo
dentro de una misma aplicaci�n. Por ejemplo, en una barra o menu de
navegaci�n tienes varios botones no? En esencia no se comportan todos
igual? Pues ah� tendr�as una abstracci�n que te permitir�a
rehutilizaci�n de c�digo. Este seria un ejemplo t�pico pero si te paras
a pensar hay un sinf�n de ejemplos: 
        � una galer�a de im�genes que cuando clickas sobre uno de los
thumbnails la foto se agranda. Todas las im�genes se comportan igual.
        � Un parser de xml.
        � Ecuaciones de easing.
        � Ventanas de pop-up emergente desde flash
        � y un interminable etc... Los m�s puristas dicen que todo son
objetos, clases, m�todos, atributos y eventos. Y quiz�s yo est� dentro
de este puritismo :-S

Otra posibilidad que te da la POO es la escalabilidad de la aplicaci�n.
Imag�nate una aplicaci�n que en una primera fase y seg�n ha pedido el
cliente no tiene que estar alimentada por una BBDD y s�lo quiere p.e
noticias en texto plano. Qu� pasa si al cabo de medio a�o, situaci�n
bastante habitual, te piden que les amplies el sistema para que se
puedan gestionar esos contenidos? En OOP, podr�as hacer una clase que
�nicamente se encargara de mostrar el contenido y otra de recuperar ese
contenido. Cuando te pidieran las modificaciones s�lo tendr�as que
modificar la clase que te recupera el contenido, en vez que sea desde
archivos txt o desde simple variables, cargar�as ese contenido desde
cualquier asp, php, webservice, etc.

Otro beneficio, este quiz�s menos explotado, es que permite el trabajo
en equipo. Cuando empiezas con el proyecto le dices a los integrantes
del equipo: "oye, hazme una clase que recibe como par�metros X, devuelva
Y y que haga esto, esto y esto". Autom�ticamente te despreocupas de c�mo
lo ha hecho y s�lo te preocupas de utilizar la nueva clase...


Sobre lo de proyectos grandes o peque�os... Piensa que si con
programaci�n procedural te parecen peque�os, cuando hayas hecho 2 o 3
con POO te parecer�n a�n m�s peque�os ;-) Al principio la teor�a parece
super f�cil e intuitiva. De hecho lo es. Si te digo que un coche es una
clase, que un BMW es un objeto y que acelerar es uno de sus m�todos...
Lo entender�s a la perfecci�n. El problema est� en el salto que se tiene
que dar para pasar de la teor�a a la pr�ctica, pero un d�a te daras
cuenta que lo has empezado a utilizar, que te gusta y que no sabr�as
vivir sin todo esto ;-) A partir de ah�, empezaras a perfilar y abstraer
mejor los conceptos y cada vez te costar� menos discriminar y definir
tus clases... 

Hasta ese momento siempre puedes pedir iluminaci�n por las listas para
que te hechemos una mano en definir las clases y dem�s...

Creo que ser�a una buena tem�tica para esta lista... Exponer proyectos e
ir discutiendo el analisis de este entre todos :-)

Saludos a todos
Xavi Beumala
http://www.5dms.com
http://www.code4net.com


> -----Mensaje original-----
> De: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] En nombre de Carlos 
> Terradillos Guti�rrez
> Enviado el: mi�rcoles, 21 de enero de 2004 11:01
> Para: 'ASNativos'
> Asunto: [ASNativos] Flash y POO
> 
> 
> Hola,
> 
> s�lo quer�a lanzar la liebre sobre un tema que ultimamente 
> est� en el candelero y es el de las nuevas capacidades de as2 
> y la programaci�n orientada a objetos (poo). Bueno, no s�lo 
> en as2, tambi�n en .NET, PHP5, Java...
> 
> Yo, que no tengo formaci�n inform�tica, siempre he o�do que 
> la poo es un sistema de programaci�n que permite modularizar 
> los proyectos grandes y reutilizar parte de esos componentes 
> o m�dulos.
> 
> Ahora bien, en los proyectos t�picos de flash parece que esto 
> no es tan necesario, e incluso si lo es parece que bastan las 
> capacidades anteriores de as1.
> 
> �Por qu� digo que no parece tan necesario?
> B�sicamente porque en general no se trata de proyectos 
> grandes y segundo porque la reutilizaci�n no es tan obvia o 
> �acaso los dise�adores no vendemos originalidad?
> 
> Sin embargo, la creaci�n de componentes complejos s� parece 
> un buen argumento...
> 
> �Qu� os parece?
> 
>  
> :::
> Carlos Terradillos Guti�rrez
> http://www.croma2.com/
> [EMAIL PROTECTED]
> 
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones http://www.sidedev.net/asnativos
> -------------------------------->
> 

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->

Responder a