Client Objects
These are used to store information that needs to be persisted between client requests or between Gadgets. If, for exmaple, a calendar object has to communicate the currently selected date to an event list, the client object could communicate this information. In general follow these guidelines:
- Keep the number of public members stored in session small, Code only the minimum needed.
- Keep operation code out of the object, you can create libraries to manipulate the client object
- Do not render HTML or any other form of output from these components, they should maintain basic datatypes (int, string, … )
The example of this that exists is the LoginClient which is polluted with operational and rendering code. Use the session management code as an example of how to do persistance but please use these objects only to store data.