Looks a lot like command pattern. You should really think about if you
really need that pattern. It often sounds nice but it always results in
lots of classes. Just to illustrate:
interface LoginService extends RemoteService {
UserInformationDto login(String user, pass) throws
InvalidCredentialsException;
boolean isLoggedIn(String token);
}
Applying the command pattern to the above straight forward service will
result in 2 commands, 2 responses, 2 handlers and 1 dispatch service that
takes any command, performs some common tasks and finally dispatches the
command to its responsible handler (in your case you sub class'ed your
abstract service which would be equivalent to having handlers, although in
your case you need to create the client service interfaces as well). So
basically each remote method call will become 3 classes (input, output,
handler). With a bit of thought and a bit of reflection you can reduce the
amount of classes a bit but its like a water drop on a hot stone.
I have one project that uses the command pattern and I tell you I don't
want to count the amount of classes related to this pattern. But the
pattern also provides a lot of compelling benefits and depending on the
requirements it can be a good fit.
If you want to go the command pattern route then take a look at
gwt-dispatch or at least
read https://code.google.com/p/gwt-dispatch/wiki/GettingStarted to get the
idea on how to reduce the amount of classes used in your current solution.
-- J.
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.