Sripathi Krishnan wrote:
[...]
> And supposing you end up guaranteeing the above, it means you have two 
> sets of functions in your class which don't speak to each other. Which 
> means they have no business being together in the same class. You could 
> just make a ServerSideDTO that extends from your ClientSideDTO and add 
> the extra methods.

That's not always possible. I have much the same situation, except my 
DTOs themselves have a class structure. I end up having this:

CObject
   CThing
     COtherThing

SObject
   SThing
     SOtherThing

...where S classes exist on the server and C classes on the client. I 
can't have SOtherThing inherit from COtherThing because it needs to 
inherit from SThing and Java only supports single inheritance.

As a result I'm having to duplicate quite a lot of logic that's needed 
in both class hierarchies. There are solutions to this --- but most of 
them involve creating a *third* complete class hierarchy containing the 
common logic and delegating functionality to that from the S and C classes.

This isn't a situation where the proposed @ServerOnly annotation would 
help --- although I could certainly use it elsewhere --- but you should 
be aware that things aren't always as simple as they first seem. You 
can't make a programmer's life easier by taking tools away from them.

-- 
┌─── dg@cowlark.com ───── http://www.cowlark.com ─────
│
│ "They laughed at Newton. They laughed at Einstein. Of course, they
│ also laughed at Bozo the Clown." --- Carl Sagan

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to