Usuário com melhor resposta
Modelo de Implementação Classe Model

Pergunta
-
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 Privadosprivate 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
Respostas
-
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- Sugerido como Resposta Francisco Gonçalves terça-feira, 19 de fevereiro de 2013 17:27
- Marcado como Resposta Jairo d Melo terça-feira, 19 de fevereiro de 2013 17:44
Todas as Respostas
-
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 :)- Sugerido como Resposta Francisco Gonçalves quinta-feira, 21 de fevereiro de 2013 17:39
-
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- Sugerido como Resposta Francisco Gonçalves terça-feira, 19 de fevereiro de 2013 17:27
- Marcado como Resposta Jairo d Melo terça-feira, 19 de fevereiro de 2013 17:44
-
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!!!