none
Dúvidas - Orientação a Objetos RRS feed

  • Pergunta

  • Boa tarde.

    Estou precisando de uma orientação.

    Trabalho em um Sistema em Silverlight que utiliza WCF para consultas ao banco de dados.

    Imagine um objeto Pessoa. Uma pessoa no sistema pode conter:

    - 1 Complemento

    - 1 Observação

    - Vários (N) Veiculos

    - Várias (N) Vagas de Garagens

    Em WCF, tenho um servico ConsultaPessoa que retorna uma coleção de pessoas. Este Serviço será chamado de várias partes do Sistema só que o retorno do objeto Pessoa poderá variar muito, por exemplo:

    Em uma ocasião necessito apenas do objeto Pessoa, em outra do objeto Pessoa e os veiculos e em outra do objeto Pessoa, veiculos e as vagas e assim por diante.

    Eu imagino que seja desnecessário retornar um objeto pessoas com todos os vinculos onde na verdade eu irei apenas precisar do nome e documento da pessoa. Estou certa???

    Eu criei o serviço ConsultaPessoa com parametros booleanos para especificar o que quero que o objeto retorne, por exemplo:

    WCF_ConsultaPessoa (bool  retornaComplemento, bool  retornaObservacao, bool retornaVeiculo, bool  retornaVaga)

    Ao preencher o objeto Pessoa, eu verifico os parametros e vou alimentando conforme necessidade. 

    Gostaria de uma opinião sobre este modelo e sugestão se for o caso de umasolução melhor para esta duvida.

    Obrigado

    Teles


    Em uma ocasião necessito apenas do objeto Pessoa, em outro a Pessoa mais os veiculos associados e em outro a Pessoa, os veiculos e as vagas.
    Em uma ocasião necessito apenas do objeto Pessoa, em outro a Pessoa mais os veiculos associados e em outro a Pessoa, os veiculos e as vagas.
    quarta-feira, 16 de janeiro de 2013 20:28

Todas as Respostas

  • Teles,

    Minha opinião é a seguinte:

    Já que está realizando a consulta, eu traria tudo do objeto, pois na página já usaria onde precisasse. Se seguir desse jeito, você irá realizar consulta no banco de dados várias vezes em uma única página.


    Fernanda Sallai
    Visite meu blog: www.fernandasallai.com.br
    Me siga no twitter @fernandasallai

    quinta-feira, 17 de janeiro de 2013 11:29
  • Bom, vamos lá:

    WCF_ConsultaPessoa não deve retornar o objeto Pessoa que você usa na sua aplicação. Também é ruim você receber booleans especificando qual campo quer retornar. Você deve retornar um objeto que por si só já esteja pronto para funcionar (ser usado), e se retornar um objeto que tem algumas propriedades não preenchidas, então esse objeto vai eventualmente causar erros quando você usar essas propriedades.

    Para cada situação, crie uma classe que contenha somente as propriedades necessarias. Preferivelmente, crie essas novas classes (que só serão usadas no WCF) em outro projeto separado. Essas classes são chamadas DTO's.

    Então para cada situação você deve criar um método no WCF e uma classe que contenha as propriedades necessárias.


    Take a look at WPF FlashMessage
    About.me

    sexta-feira, 18 de janeiro de 2013 17:54