Tag archives for design patterns

Arquitetura

Aplicando SOLID com C# – DIP (Dependency Inversion Principle)


Finalmente chegamos à última parte sobre SOLID e pra encerrar, vamos conversar sobre o DIP (Dependency Inversion Principle) ou Princípio da Inversão de Dependência. Seria injusto dizer que qualquer um dos princípios SOLID é mais importante que o outro. No entanto, provavelmente nenhum dos outros tem um efeito tão imediato e profundo em seu código do que o DIP. Cogitar desenvolver um software sem levar em conta esse princípio é comprometer o projeto violando boas práticas de arquitetura. Mantra ou Definição Módulos de alto nível não devem depender de módulos de baixo nível. Mas sim ambos devem depender de...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – ISP (Interface Segregation Principle)


Chegamos a quarta parte da série sobre os padrões SOLID apresentados aqui no NET Coders. Hoje o assunto abordado será o ISP (Interface Segregation Principle) ou Princípio da Segregação de Interface. Uma pitada de Programação Orientada a Objetos Antes de entender o que é o ISP, vamos falar um pouco sobre POO (Programação Orientada a Objeto) e Interfaces. Um dos grandes paradigmas da POO diz que é muito melhor programar para uma abstração do que para uma implementação. O uso das interfaces torna o código menos acoplado, extensível e assim gerando menos problemas em manutenções ou adições de novas...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – LSP (Liskov Substitution Principle)


Continuando com a nossa série de artigos sobre os padrões SOLID, o assunto aqui abordado será o LSP (Liskov Substitution Principle) ou em português Princípio da Substituição de Liskov. Eu diria que o LSP é mais uma questão de análise e questionamentos sobre o sistema do que propriamente “mão na massa” e adiante vamos entender o porquê. Esse conceito foi desenvolvido em um artigo científico de autoria de Barbara Liskov e apresentado em 1987, tendo sido publicado em 1994 em conjunto com Jannette Wing. A teoria original do artigo era: Se q(x) é uma propriedade demonstrável dos objetos x do tipo T. Então...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – OCP


Dando continuidade ao estudo sobre os padrões SOLID, no primeiro artigo falamos sobre o SRP, agora na segunda parte, vamos conversar um pouco sobre OCP (Open Closed Principle), ou em português (Princípio Aberto-Fechado). O que se trata? Como o nome já sugere, o padrão OCP diz que uma classe ou método durante o desenvolvimento deve estar aberto para extensão e fechado para modificação quando necessário uma adição de funcionalidade, ou seja, o desenvolvedor visa diminuir a complexidade e riscos em manutenções futuras.  Eu diria que o OCP trabalha junto com o SRP, um complementa o outro, para implementar se faz...
Continuar Lendo »
Arquitetura

Padrões e CQRS (Command Query Responsibility Segregation) – Parte 1


Existem muitos padrões de arquitetura disponíveis no momento e muitos outros estão por vir. Fato é que alguns projetos foram bem sucedidos e outros não, sejam estes utilizando o padrão da moda DDD (Domain Driven Desing) ou qualquer outro padrão de arquitetura. Mas o que seria um Padrão? O arquiteto e Professor Christopher Alexande no livro “A Times Way of Building” descreveu que um padrão é uma regra de três partes que expressa a relação entre um contexto, um problema e uma solução. Costumo responder esta pergunta apresentando um padrão sendo uma formula para solucionar um problema sob um...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – SRP


A partir desse artigo, vamos conversar sobre um dos assuntos que mais gosto na orientação a objeto, os padrões SOLID. Não quero perder tempo falando tanto da história e como foi criado, no final de cada artigo, postarei algumas referências que explicam esses pontos com bastante clareza. Pretendo ser mais prático do que teórico oferecendo exemplos focados no dia-a-dia, mas claro, antes uma refrescada pra deixar bem claro do que se trata e pra que serve, beleza? Legal, mas o que é SOLID? Como gostava de brincar um professor que tive na faculdade, os padrões SOLID deixam o código mais sólido...
Continuar Lendo »