Singleton - Existe algo como isLastInstanceFromProject()?

Há duas classes Singleton, para gravar uma foto precisa-se de um id de parâmetro, qdo. vem da tela A usa o Singleton ClasseA e qdo.
vem da tela B usa o Singleton ClasseB, daí veio a lógica à minha cabeça de fazer a seguinte verificação:

if(ClasseA.isLastInstanceFromProject()){ gravaFoto(fotoRedimensionanda, ClasseA.idPessoa); }else{ gravaFoto(fotoRedimensionanda, ClasseB.idPessoa); }

Isso é possível?

E que tal não usar o singleton?

Oi ViniGodoy, td bem? Qto. tempo hem! rs…

Então, sinceramente não vejo um porquê para não usar Singleton, queria entender o seu ponto de vista :D…
Vc conseguiu entender o problema? Usei Singleton para pegar o id que vem da tela X e usá-lo na tela Y (não enxerguei outra solução). Como tenho
dois cenários que ocorreriam na mesma lógica antes de gravar eu pensei em colocar um if para saber qual id, qual pessoa
usar como parâmetro…

Muito obrigado pela sua ajuda,
André AS

Será que não existe nada de errado com o seu design? Ou algum bad smell por aí não? Singleton pode dizer esse tipo de coisa… Acho que mais vale a pena você pensar nisso do que implementar algo parecido com o que você precisa.

Oi André, rs… Sou André tb rs…
Sua colocação trouxe uma reflexão para mim… No entanto, gostaria muito de saber como vc implementaria este problema…

Abraço e valeu a dica.
André AS

A forma mais simples de comunicar dados entre duas janelas é através da passagem de parâmetros. Janelas são objetos como outros quaisquer, e portanto, permitem esse tipo de passagem: http://www.guj.com.br/posts/list/55710.java#292687

Mesmo que sua aplicação seja web, provavelmente também haverá formas de passar parâmetros, seja através da sessão, de query strings, etc…

O uso de singleton é, na maior parte das vezes, indevido. O significado de singleton é bastante forte: Uma classe que pode ter uma, e somente única, instância. Acontece que pelo próprio perfil da OO, classes assim são muito raras.

Oi ViniGody, sua explicação foi 10, acredito que sessão seria de fato melhor solução , adorei tb o exemplo, vou “dissecá-lo” mais qdo. estiver estudando Java pra Deskto. No
entanto, ainda ficou um tanto abstrato para mim, quero dizer, enxerguei que a melhor solução seria usar session pois usando suas próprias palavras, Singleton é uma palavra forte, mas como eu poderia começar a usar?! :shock: :?: