none
Dúvida Conceitual sobre Objeto. RRS feed

  • Pergunta

  • Pessoal,

    Basicamente um objeto nada mais é do que ESTADO + COMPORTAMENTO, mas quando eu crio por exemplo uma camada Model que irá conter apenas classes POCO, conforme mostrado abaixo:

    public class Carro{
    
    public int CarroID {get; set;}
    public string Modelo {get; set;}
    public DateTime AnoFabricacao {get; set;}
    public string Modelo {get; set;}
    
    }

    E crio outra Camada de Negócio e DAL por exemplo que vai utilizar as classes do Model, eu não estaria quebrando esse conceito básico do que venha a ser um OBJETO? já que eu estou separando o estado do comportamento?

    Muito obrigado pela atenção.

    Atenciosamente.


    • Editado drigoDev sexta-feira, 27 de março de 2015 03:22
    sexta-feira, 27 de março de 2015 03:21

Todas as Respostas

  • drigoDev,

    Essa segregação que vc mesmo comentou é baseada em um princípio conhecido como Separação de Responsabilidades. Ao invés de criar um objeto que faz tudo (acessa banco, contém informações de estado e manipula lógica de negócio), vc divide as atribuições em camadas.

    O resultado disto é um código melhor estruturado, com cada camada podendo até evoluir sem causas efeitos colaterais em outras partes do sistema. Quando vc transfere a lógica de manipulação de dados sobre carros para uma camada DAL, vc tem a possibilidade de implementar isso inicialmente em ADO.NET puro; com o tempo, seria possível migrar o acesso a dados para o NHibernate ou Entity Framework, sem que se façam necessárias grandes mudanças em outras partes do sistema.

    Espero ter ajudado.

    Abs

    • Sugerido como Resposta Renato GroffeMVP segunda-feira, 30 de março de 2015 02:48
    sexta-feira, 27 de março de 2015 12:33