Eu tenho o seguinte problema no desenho da minha aplicação. Tenho 2 jars que contem lá dentro classes com o mesmo nome, mas que tem têm funcionalidades diferentes. O problema é que estou a escrever uma classe que precisa dos dois jars e eu não sei como posso diferenciar entre uma classe de um jar e outra classe com o mesmo nome de outro jar.
Existe algum design pattern que lide com estes problemas? Também não me apetece estar a escrever o caminho todo até à classe que preciso dentro do método.
Mas o nome dos pacotes também são iguais? (Vou considerar que você não sabia o que significa tornar uma classe atômica)
Neste caso você pode chama-la de forma atômica:
meupacote.a.b.c.Classe = new meupacote.a.b.c.Classe();
meuoutropacote.a.b.c.Classe = new meuoutropacote.a.b.c.Classe();
bosnic
nesse caso você tem que usar o nome completo da classe, por exemplo,
pacote.subpacote.Classe classe = new pacote.subpacote.Classe();
caso os caminhos dentro dos jars sejam iguais, ou seja, possuem a mesma estrutura de pacotes, ai tá na hora de você repensar esse design
P
pedrosacosta
bosnic, eu sei que tenho que pensar no design. Só estava a perguntar se existe algum design pattern que é útil para resolver este problema, ou tenho mesmo que pôr o caminho todo até à classe.
P
pedrosacosta
Dando um exemplo,
tenho em first.jar a seguinte classe:
a.b.c.MyClass.java
e tenho em second.jar:
q.w.e.r.MyClass.java
Dentro da minha classe que estou a programar tenho um método que precisa usar os MyClass de ambos os lados.
Cada classe tem a sua funcionalidade totalmente diferente.
Espero ter-me feito compreender.
Rodrigo_de_Mello
Pedro,
Isso. Realmente neste caso a solução é você apontar todo o caminho das classes (na declaração).