Flexibilidade OOP – S.O.L.I.D

“Hoje em dia, a maioria dos desenvolvedores de software esta utilizando linguagens orientadas a objetos, mas infelizmente, a maioria deles as utiliza sem o devido conhecimento, sem saber como extrair o máximo de benefícios dos recursos que elas oferecem. Muitos desenvolvedores, apesar de usar estas linguagens, programam de forma procedural, e assim o código fica muito complexo e pouco flexível. Por isso, muitas vezes culpam a linguagem que utilizam por um problema causado pela falta de conhecimento.”

Este ótimo artigo escrito por David Pereria na revista Java Magazine edição 79 discute e apresenta detalhadamente os cinco princípios mais básicos da orientados a objetos que devem estar na cabeça de qualquer pessoa que deseje escrever um código limpo, flexível e manutenível. Por este motivo, resolvi postar este resumo com objetivo de usá-lo como consulta rápida nos momentos críticos ai de desenvolvimento.

Single Responsibility– descreve que cada objeto deve encapsular apenas uma responsabilidade. Todo o seu serviço disponível deve estar alinhado a essa determinada responsabilidade.

Open Closed – descreve que entidades de software devem estar abertas para extensões e fechados para modificações. Ou seja, uma entidade pode permitir a mudança de seu comportamento sem alterar o seu código fonte original.

Liskov Substitution – define que não devem existir validações que envolva objetos concretos em estruturas polimórficas. As estruturas de execução precisam ser resolvidas 100% com polimorfismo.

Interface Segregation – define que objetos concretos não podem ser forçados a implementar comportamentos no qual não será usado por eles. As estruturas abstratas devem ser corretamente dividas de uma forma que estabelece estruturas polimórficas sem propagar comportamentos indevidos ou desnecessários para os objetos concretos.

Dependency Inversion – define que módulos de altos níveis não devem depender de módulos de baixos níveis. Ambos precisam depender de abstrações. As dependências devem ser injetadas via construtor ou método set por uma entidade externa a aplicações.

Um modo bacana de memorização é usar a dica do autor que concatenou as letras iniciais da cada principio chegando à palavra SOLID.

“O que a mim me concerne o SENHOR levará a bom termo; a tua misericórdia, ó SENHOR, dura para sempre; não desampares as obras das tuas mãos.” Salmos 138:8

About these ads

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 676 outros seguidores

%d blogueiros gostam disto: