Opa! Mais um post para a comunidade .NET

Ouvi o Post do DotNetArchitects falando sobre conceitos S.O.L.I.D.

Até então nunca tinha ouvido falar sobre esse conceito. E um dos envolvidos no PodCast “Giovanni Bassi” falou que é essencial um Analista de Sistemas Pleno bom ou mesmo um Analista Sênior conhecer esse conceito.

Então resolvi pesquisar sobre o assunto. Busquei várias referências. E uma delas foi o site do Vinicius Quaiato: http://viniciusquaiato.com/blog/tag/solid/

Lá fala de maneira bem detalhada todos os Conceitos. Veja um Diagrama que está diposnivel na apresentação dele:

solid

O que é S.O.L.I.D afinal de contas?

  • S = Single Responsability / Responsabilidade Única: Uma classe ou método deve ter uma única responsabilidade. Indo além, uma classe deve ter uma e apenas uma razão para mudar.
  • O = Open Closed / Aberto Fechado: Uma classe deve estar aberta para extensão e fechada para modificação.
  • L = Liskov Substitution: Deve ser possível substituir uma classe base por suas classes derivadas em qualquer ponto do código.
  • I = Interface Segregation / Segregação de Interface: Clientes não devem ser obrigados a depender de interfaces que eles não utilizam.
  • D = Dependecy Inversion / Inversão de Dependência: Módulos de alto nível não devem depender de módulos de baixo nível, ambos devem depender de abstrações. Abstrações não devem depender de detalhes, detalhes devem depender de abstrações.

São os conceitos que um bom programador deve ter em mente quando estiver codificando !

As descrições acima são auto-explicativas. Achei interessante esses conceitos. Acho que o Single Responsability é um dos principais a ser usado. O Open Closed também. Já o restante, só usará quem tiver um conceito forte de orientação a objeto 🙂

A partir de agora vou manter esses conceitos em mente para codificar! É isso ai Pessoal! 😉