Ken,
Yes, both client app and form must subscribe to the interface of the parameter object, so they are coupled. There is
always coupling in a system.
But accessing the
internal objects of the form is an order of magnitude more coupling. You now prevent the form from changing to use alternate controls (changing a textbox to a cbo, or moving controls to a pageframe for example) without breaking every client of the form. You can bind the form directly to the parameter object's properties so it really isn't that difficult to use.
>I understand and agree with your observation, but disagree that it matters. While I am all in favor of blackboxing many things. decoupling is not the holy grail - at least not within a homogenous application. On the other hand, I doubt there's much code/performance cost (if any) in doing it with an object, so it's worth thinking about.