Padroes de Projeto - Discussao, Ajuda!

Buenas galera.
Tou precisando de uma ajuda.
Seguinte, vou tentar simplificar meu dilema.

Minha aplicação Cliente pode ser tanto por RMI quanto por XML-RPC.
Ela acessa a aplicação Servidora, e depois a aplicação servidora tem que guardar o tipo de conexao para poder chamar de volta.

tenho um Objeto Jogador.
Este tem nick, senha, tipo_conexao

tenho meu objeto Servidor

neste, tenho um método chamado Login(nick, senha, tipo);

Meu cliente RMI
chama remotamente uma classe que interceptaria… faria a comunicaçao do cliente com o servidor por RMI,
ou seja.
Ela tem uma interface remota(que extends Remote), e seus métodos tem que declarar throws RemoteException.

o objeto Interceptador…
seria um objeto chamado ServidorRmi


O cliente acessaria um método Login(nick, senha);

O ServidorRmi pega o Servidor
e repassa o método… chamando Login(nick,senha,tipo_conexao_rmi);

e o inverso com o Objeto ServidorXml que passaria conexao_xml …

isto seria um adapter…
da minha classe que mantem o contato com o cliente… que sabe qual seu tipo de conexao, e repassa para o método do Servidor…

Eu poderia considerar que meus objetos de comunicação com os clientes… sao Proxys do Servidor ??

eles nao implementam a mesma interface…mas teriam as mesmas funcionalidades…

Muitos vao dizer que é apenas o padrao adapter… nao é proxie…

vamos ver…

agora,
se eu tivesse a mesma situação, so que sem o método login ser adaptado…
Seria praticamente a mesma assinatura, mas porem, entretanto,

Os comunicadores com o cliente e o Servidor propriamente dito… nao implementariam a mesma interface…
pois is métodos de comunicao por ex do rmi… tem que dar throws RemoteException… e do servidor NAO…
apesar de ser o mesmo nome de método e mesmos parametros…
esta mudança no throws RemoteException , e a nao implementaçao realmente da mesma interface para os objetos…
iria descaracterizar a definição de Proxy … feita pelos comunicadores ServidorXml e ServidorRmi

???

editando: se alguem moderador puder mover o topico para a area de arquitetura de sistemas, acho que la seria mais adequado…