[Lazarus-es] Programando con Objetos

Giuseppe Luigi Punzi Ruiz glpunzi en lordzealon.com
Sab Jul 25 19:04:31 CEST 2009


Hola Julio,

El 25/07/2009, a las 15:21, Julio C. Taborda escribió:

> Hola Giuseppe,
>>
>> En Smalltalk, me acostumbré a trabajar sólamente con "Objetos". Mis
>> objetos guardaban colecciones de otros Objetos (Objeto Empresa ->
>> variable de instancia, colección de Clientes), y no tenía que
>> preocuparme de la Vista, o de la persistencia, que podía tenerla en
>> cuenta más tarde. Éste acercamiento me gusta mucho, y, puesto ahora
>> sólo pienso en Browsers, Inspectors y Debugger de Smalltalk, se me
>> hace cuesta arriba trabajar con Lazarus/Delphi.
>
> No conozco smalltalk, pero para programar con objetos hace un tiempo
> que vengo probando el framework tiopf (http://tiopf.sourceforge.net/).
> Este framework tiene 2 clases (tiobject y tiobjectlist) que se usan
> como base de tus propias clases (p.ej. tempresa=class(ttiobject)) y  
> trae
> distintos métodos para la persistencia de datos.
>
> Una pequeña introducción:
> http://tiopf.sourceforge.net/Doc/overview/index.shtml
> http://tiopf.sourceforge.net/Doc/QuickStart/

Si, hace un tiempo estuve ojeando MVC para Delphi, y ví que estaba  
TIOPF y PressObjects. Éste último no llegué a mirarlo, y TiOPF, me  
suena que me pareció bastante complicado de manejar. Lo mismo estoy  
equivocado. También me suena que me dió problemas para hacerlo  
funcionar en OSX.

>
>
>> Me gustaría poder seguir ese modelo en Lazarus (MVC vamos, pero a
>> poder ser, sin usar frameworks de terceros). Poder tener mis objetos
>> independientes, de la vista, y de la persistencia.
>
> Una vez creados los objetos, para la persistencia hay que seleccionar
> que capa de persistencia se quiere usar por defecto y establecer los
> datos de la conexión a la base de datos.

Esta es la idea, que la persistencia ya esté implementada, y de manera  
transparente. Sabes si crea la BBDD, campos y demás cosas necesarias  
sin tener que tocar nada de SQL?

>
>
>> Lo que, no se me
>> ocurre, es, si yo guardo, por ejemplo, en el Objeto Empresa, en una
>> variable de instancia de clase, una colección de Clientes, cómo
>> transcribo esta información a un DataGrid?.
>>
> Para la parte de las vistas usa MGM (model-gui-mediator) para
> relacionar los objetos con cualquier control gráfico.
> (http://www.andypatterns.com/index.php/design_patterns/model_gui_mediator_pattern 
> )
> (http://opensoft.homeip.net/articles/)
>
> Si te interesa para tener una idea, el código se encuentra en la
> carpeta tiopf2 -> Trunk -> GUI
> en las unidades timediators.pas, tilistmediators.pas y en la carpeta
> core las unidades tibasemediator.pas,tiformmediator.pas

Le echaré un vistazo también...

Giuseppe Luigi Punzi Ruiz
Blog: http://www.lordzealon.com
Twitter & Skype & GoogleTalk accounts: glpunzi









More information about the Lazarus-es mailing list