Desenvolvimento - C#
Trabalhando com cache em propriedades
No artigo o autor ensina como trabalhar com cache, e também conceitos de "programação orientado a objeto", faz escrever códigos mais legíveis e reaproveitáveis.
por Emerson JoseOlá pessoal, bem vindos a mais um no artigo de hoje vou fazer um refactory de alguns artigos que ando lendo.
Percebi as dificuldades ou falta de conhecimento em POO (Programação orientada a objetos).
Bem você deve estar se perguntado o artigo não é sobre cache? Por que estou falando sobre isso? Alguns conceitos fazem escrever códigos mais legíveis e reaproveitáveis. Vou mostrar um exemplo comum de ser achar na internet.
public void SetCache(string nameUser)
{
HttpContext.Current.Cache["userName"].Value = nameUser;
}
public string GetCookie()
{
string userName = string.Empty;
if(HttpContext.Current.Cache["userName"] != null)
{
return (string)HttpContext.Current.Cache["userName"].Value;
}
return userName;
}
Definição: No primeiro exemplo temos dois métodos, o primeiro seta valor no cache userName, segundo recupera o valor do cache.
O que poderia ser feito nesses dois métodos, seria evitar de todo momento instanciar o httpcontext para recuperar ou setar valor.
public string userName
{
get
{
return (HttpContext.Current.Cache["userName"] != null) ? (string)HttpContext.Current.Cache["userName"] : string.Empty;
}
set
{
HttpContext.Current.Cache["userName"] = value;
}
}
public void SetCache(string nameUser)
{
userName = nameUser;
}
public string GetCache()
{
return userName;
}
Definição: No segundo exemplo podemos perceber a diminuição dentro dos métodos, criamos uma propriedade que seta e recupera valor do cache responsável por instanciar httpcontext.
Nos métodos instanciamos nossa propriedade para setar e recuperar valor, o método de recuperar já tem uma diminuição que não precisamos verificar se tem valor, a própria propriedade já se encarrega de retorna um valor Default.
O mesmo exemplo que fizemos com cache aplica-se para cookie é session.