Arnon,
This is a very powerful kind of object. Having the validation logic within the object means that you can remove that parameter testing code from all the places it has to be put otherwise.
>As a matter of fact , there are , IMHO anyway, some very nifty used for parameter object , esp. ones with methods.
>One of the uses we have for this is a means to encapsulate the parameter validation logic. we have a generic parameter object, which is basically implementing a collection. We then have specific sub-classes , one for EIS forms, one for passing messages between objects etc.
>These objects has specific methods to set various parameters that can be needed further down the road (of a chain of command pattern) and the basic error checking is done when you set the parameter (this can save you a trip to the server in a n-tier setup for example)