em

Desenvolvimento em camadas OOP.

Último post 07-19-2009 9:49 de edmilson_hora. 0 respostas.
Página 1 de 1 (1 itens)
Classificação de Posts: Anterior Próximo
  • 07-19-2009 9:49

    Desenvolvimento em camadas OOP.

    Olá amigos,

    tenho algumas dúvidas  sobre desenvolvimento em camadas e vou tentar dividir minhas dúvidas em partes pequenas de forma que quem puder ajudar, não tenha uma monte de perguntas dentre de um único post.

    Minha primeira dúvida é sobre o relacionamento dos objetos em uma aplicação, tenho estudado o modelo de desenvolvimento em camadas, onde na DTO ficam apenas as classes sem comportamento nenhum, camada DAL onde os métodos de acesso ao banco de dados são escritos, camada BLL  onde devem ser escritas as regras de negócio e finalmente a UI  que é a interface do usuário, até aqui  tudo parece bem para que esta aprendendo a trabalhar em OOP  e em camadas, logicamente que tenho visto vários outros padrões mas estou tentando aprofundar neste,  nem sei se este é o padrão mais indicado para certos cenários e nem sei ainda se existe algum outro que  esteja "mais na moda" ou seja melhor.

    Como disse, as classes se relacionam, em alguns  exemplos  a  Classe Cliente  tem  um  atributo que é  uma outra Classe  que  é a Classe Dependente  que por sua vez  tem  uma outra classe  como atributo  que é  a Classe  TipoDependente, só  ai temos  3 classes que tem um relacionamento  que  está sendo um espelho de como esta modelado no Banco de dados, ai chaga a dificuldade,  estou usando ADO.NET  puro para acessar e manipular os dados e tenho  tido algumas dificuldades ao tentar carregar atributos de classes associadas, no meu primeiro exemplo de dificuldade tenho o seguinte:

     Utilizo uma datareader  para carregar  atributos  das minhas Classes, mas um dos atributos  esta  em outras Classes, como Acesso???

     

    public IList<DTO.Cliente> ListAll()

    {

    SqlConnection conn = new SqlConnection(Dados.Conexao.ToString());

    SqlCommand Cmd = new SqlCommand("sp_SelectAllClientes", conn);

    Cmd.CommandType= CommandType.StoredProcedure;

    IDataReader dr;

    IList<DTO.Cliente> NovoCliente = new List<DTO.Cliente>();

    conn.Open();

    dr = Cmd.ExecuteReader();

    while (dr.Read())

    {

    DTO.
    Cliente UmCliente = new DTO.Cliente();UmCliente.clienteID = (int)dr[0];

    UmCliente.nomeCliente = dr[1].ToString();

    UmCliente.endereco = dr[2].ToString();

    UmCliente.bairro = dr[3].ToString();

    UmCliente.telefone = dr[4].ToString();

    UmCliente.dataNascimento = dr.GetDateTime(5);

    //O problema  esta nesta  Linha  como acesso  o atributo que esta duas sub Classes abaixo???

     

    UmCliente.cidade.estado.Sigla = dr[6].ToString();

    NovoCliente.Add(UmCliente);

     

    }

     

    dr.Close();

    return NovoCliente;

     

    }

     

    grato,

    Edmilson 

     

     

     

     

     

     

     

     

    Abaixo de:
    • Pontos do post: 5
Página 1 de 1 (1 itens)
Provido por Community Server (Commercial Edition), por Telligent Systems