The visit object will contain all the data about a client's
visit to the web application. If possible, it should have a no-arguments
constructor (this allows SimpleEngine
to instantiate it as needed).
Keeping the size of the serialized engine small is a
good goal for overall performance and scalability, and the visit object is serialized
with the engine. During initial development, the visit
object should implement the java.io.Serializable
interface.
Once the application, and the structure of the visit object, is
stable, the more efficient java.io.Externalizable
interface should be implemented instead.
In addition, deferring the creation of the visit object as late as possible is also of benefit, since this is the best way to keep the serialized engine small.