Pular para o conteúdo principal

C# - Design Patterns

Olá meus queridos! Hoje daremos inicio a uma série de postagens falando sobre Design Patterns e utilizaremos o C# para demonstra-los. Essa (e as próximas postagens) são uma iniciativa após o meu ingresso nos excelentes cursos da Alura sobre essa temática, porém lá a linguagem utilizada é Java.

Minha intenção aqui é passar por cada padrão mostrando na prática como resolver problemas cotidianos que já foram pensados e resolvidos.

Mas do que se trata "Design Patterns"?

Segundo a Wikipédia "padrão de projeto (do inglês design pattern) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software", ou seja, para a maioria dos "problemas" mais comuns que enfrentamos no dia a dia já existem soluções propostas, testadas e amplamente utilizadas. Desse modo evitamos "reinventar" a roda para problemas comuns e melhor, escrevemos código padronizado que qualquer pessoa que também conheça os padrões irá entender.

Vale ressaltar a importância desses padrões, pois eles nos ajudam a criar código mais fácil de ler e de dar manutenção, de forma padronizada e otimizada.

Uma outra fonte excelente de informações a respeito é o site Refactoring Guru, que não só apresenta todo o conceito como também mostra quando usar, e talvez o mais legal, exemplos em diversas linguagens de programação.

Veja o que já escrevemos sobre

Comportamentais

  1. Strategy
  2. Chain of Responsibility
  3. Template Method
  4. State
  5. Command
  6. Observer




Comentários

Mais visitadas

Aplicação Flask usando Nginx e Gunicorn

Aplicação Flask usando Nginx e Gunicorn Se você já desenvolveu uma aplicação Flask básica, sabe que o servidor de desenvolvimento embutido não é ideal para produção. Ele não é projetado para lidar com altos volumes de tráfego ou conexões simultâneas. Para tornar sua aplicação Flask mais robusta e pronta para produção, podemos usar o Gunicorn como servidor de aplicação e o Nginx como proxy reverso. Neste artigo, vamos adaptar o exemplo anterior ( Criando uma Aplicação CRUD com Flask, PostgreSQL e Docker ) para incluir o Nginx e o Gunicorn. O que são Nginx e Gunicorn? Gunicorn O Gunicorn (Green Unicorn) é um servidor de aplicação WSGI que roda aplicações Python como o Flask. Ele é eficiente e simples de configurar, lidando com múltiplas requisições ao mesmo tempo, algo que o servidor embutido do Flask não faz bem. Nginx O Nginx é um servidor web que atua como um proxy reverso. Ele recebe requisições HTTP e as encaminha ao Gunicorn. Além disso, o Nginx pode: Servir arquivos ...

Centralizar Texto em Edit

Como todos sabemos o Edit mantém todo texto digitado a esquerda, o que não fica bem quando o usamos para a entrada de números, pois bem, o exemplo abaixo apresenta uma alternativa para centralizar um determinado valor dentro de um Edit: procedure EditChange(Sender: TObject); var vl_label : TLabel; //variável do tipo Label begin vl_label := TLabel.Create(self); //criamos um label WITH vl_label DO BEGIN Font.Name := TEdit(sender).Font.Name; //pegamos a fonte usada no edit Caption := TEdit(sender).Text; //pegamos o conteúdo do edit SendMessage(TEdit(sender).Handle, EM_SETMARGINS, EC_LEFTMARGIN, (TEdit(sender).Width-vl_label.Width) div 2); //centraliza no label e retorna para o edit END ; vl_label.Free; end ;

Palavra com a primeira letra em Maiúsculo (Delphi)

Para casos onde temos palavras que são armazenadas todas em maiúsculo, geralmente surge a necessidade de utiliza-la de uma maneira mais elegante, como o título sugere, então vamos lá: function Primeira_Letra_Maiuscula(p_texto: string): string; begin IF p_texto <> '' THEN result := UpperCase(Copy(p_texto,1,1))+LowerCase(Copy(p_texto,2,Length(p_texto))); end;