[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Duvida na interface BibliotecaVirtual



    Bem, eu pensei mais ou menos na sua dúvida, eis o que me vem à cabeça:

>Na interface BibliotecaVirtual o metodo bibliotecaComAlcance nao deveria
>retornar uma referencia para uma BibliotecaVirtual ao inves de
>Biblioteca?
>  
>
    Eu entendi esse cara meio que como uma espécie de mistura entre 
FactoryMethod e Accessor (meio esquisito, mas é isso).
    Pelo que pude entender, você não devolve mais bibliotecas, só 
BibliotecasVirtuais mesmo. Tanto que, segundo a especificação, o cliente 
deve ser capaz de fazer um narrow da biblioteca que você devolve para 
uma BibliotecaVirtual.

>Por exemplo, se o cliente chamar a funcao com alcance CIDADE, como o
>objeto retornado sabera seu alcance, uma vez que ele e apenas uma
>Biblioteca? O seu alcance é sempre local...
>  
>
    Pois é, aí é que está. Você tem que fazer um narrow para 
BibliotecaVirtual antes. Mas talvez eu não tenha entendido a sua 
pergunta, já que à princípio o objeto retornado pode saber tudo o que 
você, que implementou a interface lá no servidor, quer que ele saiba.

>Outra: como uma biblioteca virtual tera acesso a todas as outras
>bibliotecas que estao no ar? Todas as bibliotecas estao registradas no
>mesmo servidor de nomes(name service)? Se estiverem, como obteremos uma
>referencia para cada uma delas?
>  
>
    Isso está sendo uma fonte de controvérsias. Estava discutindo isso 
com o Fábio outro dia, estávamos pensando em montar uma estrutura 
hierárquica de contextos bem simples 
(CIDADE/ESTADO/BIBLIOTECA/<interfaces>), daí você poderia fazer um 
traversal compatível com o seu escopo pra achar as bibliotecas.

>Nao entendemos tambem para que usaremos o narrow da Biblioteca para
>criar uma referencia para uma BibliotecaVirtual com alcance BIBLOCAL?
>Teremos que reescrever o narrow para alterar o alcance da biblioteca
>para LOCAL?
>  
>
    Não não, você vai implementar a interface BibliotecaVirtual, que é 
filha da interface Biblioteca, e retorná-la em bibliotecaComAlcance. 
Como BibliotecaVirtual é filha de Biblioteca, isso não deve causar 
problemas. Além disso, se o cliente fizer um narrow na sua Biblioteca 
para uma BibliotecaVirtual, vai funcionar.

    Espero ter ajudado!

    Abraços,

    Giuliano