Ver Mensaje Individual
  #5  
Antiguo 12-04-2011
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Es más el tema del acoplamiento de control puede llevarse desde el módulo coordinador (cliente) como del subordinado. Es decir pueden esperarse ambas direcciones del parámetro de control:

1. Que el subordinado reciba el control, o bien
2. Que el subordinado sea quien notifique del control a aplicar

Para el caso 1, el parámetro de control regula la lógica interna:

Código Delphi [-]
function Nombre(Param1: tipo; ParamControl: tipo): tipo;
begin
 // aqui los controles y evaluaciones sobre ParamControl
end;

Para el caso 2, se requiere de "var":

Código Delphi [-]
function Nombre(Param1: tipo; var Control: tipo): tipo;
begin
  // aqui el algoritmo y las modificaciones a Control
end;

El caso 2 como ya debe haber quedado claro se emplea cuando el subordinado debe notificar de algo "extra" o que sea a modo de control, o de cambio de "estado" al coordinador. Luego queda en el coordinar lleva a cabo lo necesario y en su responsabilidad de que hacer con él.

Un caso aún aceptable de acoplamiento es un híbrido: una combinación del acoplamiento de datos más de control. Pero también debe evitarse.

De hecho la escala de acoplamiento sugerida de mantener es:

1) Acoplamiento de datos
2) Acoplamiento estampado
3) Acoplamiento de control
4) Acoplamiento Híbrido
5) Acoplamiento Común
6) Acoplamiento por Contenido (o Patológico)

Siendo 1 es más deseable y 6 el menos deseable.

El punto y a lo que voy es que se debería pensar bien objetivamente que es lo que se pretende de esto. ¿Cuál es verdadero objetivo y lo que motiva a que una función deba regresar varios resultados? ¿Se debe hacer algo en función de esos resultados? ¿Esos resultados son utilizados para alguna situación diferente o a un tratamiento diferente?

Responder a esas preguntas puede ayudar a determinar si en verdad el diseño que se estaba pensando es el más adecuado.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita