Es la dependencia que tiene un objeto de otro para realizar una determinada tarea, esta dependencia puede ser voluntaria (que deseemos que exista) o involuntaria (sin querer, generamos un acoplamiento que nos puede traer mas de un dolor de cabeza).
Siempre hay que tratar de mantener un buen nivel de acoplamiento, y que este no dificulte el mantenimiento o modificación del código.
Veamos un ejemplo.
Acoplamiento involuntario: Generalmente pasa cuando estamos desarrollado la interfaz grafica, ver esto: imaginemos (por que no tengo el capturador de pantallas ni el Fireworks) un formulario/ventana y en el hay 4 rabiobuttons y un botón. Si la accione a realizar depende del activación de uno de las radiobutton y luego apretar aceptar.
Es muy común ver que el programador escribe el código haciendo una llamada la propiedad o método que verifica el estado del radiobutton cada uno con su if.
Código del botón
If radiobutton_1.checked=true then
accion_1
End if
If radiobutton_2.checked=true then
accion_2
end if
If radiobutton_3.checked=true then
accion_3
end if
If radiobutton_4.checked=true then
accion_4
end if
Si ahora los radiobutton pasan a ser una lista desplegable, el alto acoplamiento entre las clases visuales, genera que la actualización o mantenimiento del código sea muy engorroso, para salvar este “error” de diseño se utiliza una variable "visible" por los objetos. La cual será seteada por algún evento del control o clase interactivo y leída por el control (botón) que ejecuta la acción.
Los radiobuttons quedarían así:
Evento clicked (PB)
If checked=true then
Variable_visible_por_todas_las_clase=1
End if
Y el botón tendrá el siguiente código
Choose case Variable_visible_por_todas_las_clase
Case 1
Accion()
Case 2
Accion()
End choose
Así logramos un código prolijo, entendible y manejable. Es decir bien diseñado
Este Blog lo voy a dedicar a mi principal fuente de alimentacion PowerBuilder y otros lenguajes de programacion.
Mostrando entradas con la etiqueta Teoria. Mostrar todas las entradas
Mostrando entradas con la etiqueta Teoria. Mostrar todas las entradas
martes, 19 de agosto de 2008
miércoles, 6 de agosto de 2008
Que podemos hacer y que no con PowerBuilder
PowerBuilder (PB de ahora en adelante) se una herramienta de desarrollo 4GL, que fue creada por PowerSoft y luego adquirida por Sybase desde la version 6.5. PB es un entorno orientado a los sistemas de gestion, Ej: Sistemas de Stock, Personal, Ventas y todo aquello referido principalmente a la gestion empresarial. Es decir que si queremos hacer un reproductor MP3 o algun modulo de muy bajo nivel , etc. esta no es la herramienta apropiada.
Algunos van a decir que si se puede hacer cosas de bajo nivel (que esten bien cerca del sistema operativo), y de hecho se puede, pero estan engorrosa la programacion, que es preferible utilizar otros lenguajes. Por Ejemplo PB no trae un soporte nativo para TCP/IP, la incrustacion de objetos OLE es pobre(con esto he renegado mas de una vez), y generalmente los controles importados no se comportan establemente. Muchas de estas cosas las podemos realizar a traves PBNI (PowerBuilder Native Interface) o llamadas a metodos de DLL (esto lo explicare en otros post).
Ahora veamos los que nos ofrece PB, para desarrollar aplicacion de gestion de Base de Datos.
Algunos van a decir que si se puede hacer cosas de bajo nivel (que esten bien cerca del sistema operativo), y de hecho se puede, pero estan engorrosa la programacion, que es preferible utilizar otros lenguajes. Por Ejemplo PB no trae un soporte nativo para TCP/IP, la incrustacion de objetos OLE es pobre(con esto he renegado mas de una vez), y generalmente los controles importados no se comportan establemente. Muchas de estas cosas las podemos realizar a traves PBNI (PowerBuilder Native Interface) o llamadas a metodos de DLL (esto lo explicare en otros post).
Ahora veamos los que nos ofrece PB, para desarrollar aplicacion de gestion de Base de Datos.
- PowerScript que es el lenguaje en el que programaremos el comportamiento de nuestra aplicacion. Implementa OO 100%, de forma natural e intuitiva, ademas esta casi libre de ambiguedad
- Controles 100% compatibles con el api de windows, salvo el control TAB(solapas/pestañas)
- Conexion a Base de datos, simple de configurar y controlar las transacciones.
- Soporte de SQL Embebido
- Datawindow, que es "el Control" de PB, por el cual realizamos la visualizacion, insercion,actualizacion y eliminacion de datos.
- y muchas otras que iremos viendo en el futuro
Todas estas caracteristicas hacen que el desarrollo de aplicaciones empresariales, sea fundamentalmente rapido, practico y ordenado.
Bueno esto es todo por hoy nos vemos la Proxima
Suscribirse a:
Entradas (Atom)