[Php-objetos] Me olvidé de una cosa! Re: Posible tesis?

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Dom Feb 22 18:02:03 ARST 2009


Hola Gerardo,

El dom, 22-02-2009 a las 14:16 -0300, Gerardo Valiani escribió:
>         lo que describís es un sistema de hace 15 años de Apple que se
>         llama(ba) FileMaker... en la parte de usar "literatura y
>         sistemas
>         existentes" para entender el dominio del problema, podrías
>         buscar por
>         ese lado.
> 
> Si, me imagines que alguien ya lo habrian hecho. No es nada nuevo. 

	No, lo que no significa que una versión PHP no sea una buena
implementación de una idea que estaba buena, pero cayó en desuso.




>                Luego se puede ilustrar como un caso de uso concreto la
>         Localidad, el
>         CP, los Repollos... daría lo mismo.
> 
> Creo que ahora pude explicar mejor el "no me importa que es lo que
> carga el cliente". A este sistema me referia. 

	Bueno, pero en realidad no es que a vos no te importe, ya que tenés que
preveer en el sistema lo que le va a importar a gente que no conocés...
esto significa que varios van a hacer desastres, y terminarán diciendo
que "el sistema es una porquería".
	Solo estás cambiando un "no me importa para un caso particular" por un
"me importa muchísimo entender todas las combinaciones posibles".


>                Hay un enfoque que trata sobre esta problemática que se
>         llama AOM:
>         Adaptive Object Model. Es una arquitectura de Objetos.
> 
> Es una de los 23 patrones de diseño que nos vas a enseñar? 

	Como digo en ese párrafo, es una Arquitectura, no un Patrón de Diseño.
	Arquitectura por ejemplo es MVC. Patrón de Diseño es por ejemplo
Singleton. Las Arquitecturas pueden escribirse en varios paradigmas, los
Patterns solo en Objetos.


>                Sin embargo esta tesis tiene un problema: te va a
>         llevar a pensar
>         permanentemente en Tablas y DBs, y esto es lo último que se
>         desea para
>         este este curso... Tendrías que armar un modelo completo que
>         no se
>         guarde primero, como el de los Autos y el Combustible o el
>         Banco y la
>         Cuenta Bancaria y hacerlo andar así antes de hacerlo
>         persistente... si
>         no vas a pensar nada más que en Tablas...
> 
> Es cierto, es una cosa que lo pense. Son todas tablas de aca para
> haya. Pero creo que si tenemos cuidado podemos evitar el error de no
> pensar en objetos. 

	Ja! "podemos evitar el error de _no_ pensar en objetos".
	Te lo dije!


>                Por otra parte, y dado que vos conocés a priori qué es
>         lo que te
>         gustaría manejar (Localidades, CPs, Provincias, etc, tal vez
>         te convenga
>         resolver ESTE problema puntual, en vez de hacer una
>         herramienta que se
>         va a parecer mucho al MS Access pero escrita en PHP... qué
>         opinás?
> 
> Entiendo que tal ves que esta tesis sea un poco mas dificil que
> plantear el problema que yo ya conozco. Pero me frustra un poco tener
> que escribir algo que ya se que no me va servir para otros casos. El
> sistema como esta planteado sirve para cualquier cosa. Y me parece que
> resulve problematicas de uso cotidiano. Cualquier trabajito que
> tengamos en php, vamos a usar este sistema. Eso me entusiasma. 

	Entiendo tu entusiasmo pero es injustificado.
	El sistema que planteás resuelve problemáticas de uso cotidiano, al
igual que MS Access lo hace. Sin embargo cuando hace falta un sistema
con un ínfimo grado de complejidad que solo hacer ABML de tablas, hace
falta llamar a alguien de sistemas.

	Una cosa ínfima que todo sistema precisa es informes y totalizadores.
Podrá tu sistema de esta forma basada en formularios dar saldos de Cta
Cte de Clientes? Defino "el conjunto de datos" de Clientes (nom, ape,
dir), defino el de Movimientos de Cuenta (cliente, fecha, debe, haber)
Cómo sé cuánto me debe un cliente?

	Se me ocurren decenas de casos más complejos que este simple saldo, que
un sistema así no permite definir... para definir esto hay que crear un
entorno 4GL (cómo Genexus o  Velazquez Visual), que es una tarea más
compleja todavía... y si fuera de veras mejor, estaríamos usando todos
entornos 4GL en vez de programando sobre un lenguaje.

	Por otra parte, lo que querés hacer es un sistema. Sería otro el
planteo si me dijeras que querés hacer una herramienta para usar como
programador, que resuelva la parte trivial y repetitiva de una
aplicación, como son los ABML... pero esto es estar pensando "híbrido"
porque pensar en los ABML es pensar en Tablas, pero vistas como Objetos,
con lo cual volvemos al PHPMyAdmin, pero con una interfaz más simple
para ver y un buscar.

	Si pensás en Tablas, no hay modelo que no sea el modelo relacional...


	Seguimos...
-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-objetos