none
Modelo de Implementação Classe Model

    Question

  • Pessoal Salve!!!

    Por gentileza mais uma vez recorro a vocês para esclarecimento de conceito...

    É o seguinte:

      Hoje implementamos uma classe de negocio utilizando

      => Atributos privados, Propriedades, Construtor e Métodos

    Segue um Exemplo de implementação da classe Departamento:

        public class Departamento
        {
            // Atributos Privados

            private int m_id;
            private string m_codigo;
            private string m_descricao;

            // Propriedades Publicas

            public int Id
            {
                get { return m_id; }
                set { m_id = value; }
            }

            public string Codigo
            {
                get { return m_codigo; }
                set { m_codigo = value; }
            }

            public string Descricao
            {
                get { return m_descricao; }
                set { m_descricao = value; }
            }

            // Construtor 

            public Departamento()
            {
                m_id = int.MinValue;
                m_codigo = string.Empty;
                m_descricao = string.Empty;
            }

    Quando precisamos mudar algo interno nos utilizamos os atributos

    por exemplo se no método inserir preciso gravar o id, então eu utilizo o m_id

    e de fora eu utilizo a propriedade publica

    A minha questão se existe algum conceito na forma acima que implementamos

    ou estou apenas "sujando" sendo que no caso acima poderia tirar o atributos privados

    e trabalhar só com as propriedades.

    Pessoal como não tenho bagagem de conceito a forma que implementaria seria esta:

      public class Departamento
        {

            // Propriedades Publicas

            public int Id { get; set; }
            public string Codigo { get; set; }
            public string Descricao { get; set;}

            // Construtor

            public Departamento()
            {
                this.Id = int.MinValue;
                this.Codigo = string.Empty;
                this.Descricao = string.Empty;
            }

     

    Um grande abraço!!

    Jairo

    Tuesday, February 19, 2013 3:30 PM

Answers

  • Fala Jairo,

    Na minha opinião você poderia utilizar esse novo modelo (alias é desta forma que eu implemento minhas aplicações). Não existe o porque deixar de utilizar as facilidades que a linguagem provê.

    Depois de compilado o IL fica da mesma forma nos dois modelos que você descreveu.

    Então aí via uma dica: De uma olhada no código gerado pelo .NET após a compilação. Assim você irá aprender muito sobre esses assuntos.

    Talvez algumas pessoas mais conservadoras (ou faculdade) irão dizer que o recomendado é fazer seguindo o seu primeiro exemplo. Mas na prática e na minha opinião, isto não influenciaria quase em nada.

    Ok?


    Francisco Gonçalves
    Blog: http://franciscogoncalves.com
    MTAC - MCPD Web Developer 4

    Tuesday, February 19, 2013 5:27 PM

All replies

  • Amigo, boa tarde

    para propriedades muito simples (como seu exemplo) não existe diferença nenhuma entre a forma como você está fazendo a declaração {get;set;} para o compilador será a mesma coisa. 

    tambem não vejo necessidade de você declarar os valores das variáveis no método construtor, ao menos que tenha algum mótivo de négocio para isto.


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    Tuesday, February 19, 2013 5:18 PM
  • Fala Jairo,

    Na minha opinião você poderia utilizar esse novo modelo (alias é desta forma que eu implemento minhas aplicações). Não existe o porque deixar de utilizar as facilidades que a linguagem provê.

    Depois de compilado o IL fica da mesma forma nos dois modelos que você descreveu.

    Então aí via uma dica: De uma olhada no código gerado pelo .NET após a compilação. Assim você irá aprender muito sobre esses assuntos.

    Talvez algumas pessoas mais conservadoras (ou faculdade) irão dizer que o recomendado é fazer seguindo o seu primeiro exemplo. Mas na prática e na minha opinião, isto não influenciaria quase em nada.

    Ok?


    Francisco Gonçalves
    Blog: http://franciscogoncalves.com
    MTAC - MCPD Web Developer 4

    Tuesday, February 19, 2013 5:27 PM
  • Fala Jairo,

    Na minha opinião você poderia utilizar esse novo modelo (alias é desta forma que eu implemento minhas aplicações). Não existe o porque deixar de utilizar as facilidades que a linguagem provê.

    Depois de compilado o IL fica da mesma forma nos dois modelos que você descreveu.

    Então aí via uma dica: De uma olhada no código gerado pelo .NET após a compilação. Assim você irá aprender muito sobre esses assuntos.

    Talvez algumas pessoas mais conservadoras (ou faculdade) irão dizer que o recomendado é fazer seguindo o seu primeiro exemplo. Mas na prática e na minha opinião, isto não influenciaria quase em nada.

    Ok?


    Francisco Gonçalves
    Blog: http://franciscogoncalves.com
    MTAC - MCPD Web Developer 4


    Ok Francisco como de costume muito esclarecedor sua explanação sobre o assunto!!!
    Tuesday, February 19, 2013 5:45 PM