posted 16 years ago
I don't see any immediate advantages of the design you have used.
However, such a thing is mostly done for MUTABLE objects only, in places where you want to give out all the information about the object to the client, and yet prevent the client from making changes to the original copy.
It is a mechanism to prevent rep exposure.
"It's not enough that we do our best; sometimes we have to do<br />what's required."<br /> <br />-- Sir Winston Churchill