Análise e Desenvolvimento de Sistemas
São cinco princípios básicos de programação e design orientado a objetos, princípios criados por Robert C.Martin no início dos anos 2000.
Estes princípios se apresentam da seguinte forma:
SRP: Single Responsibility Principle (Princípio da Responsabilidade Única).
OCP: Open/Closed Principle (Princípio Aberto / Fechado).
LSP: Liskov Substitution Principle (Princípio da Substituição de Liskov).
ISP: Interface Segregation Principle (Princípio de Segregação da Interface).
DIP: Dependency Inversion Principle (Princípio de Inversão da Dependência).
Os princípios S.O.L.I.D tem como objetivo serem aplicados no desenvolvimento de softwares para podermos:
• Remover Code Smells. Desta Forma o desenvolvedor refatora o código fonte do software até que esteja legível e extensível.
• Aplicar em conjunto com o TDD (desenvolvimento orientado a testes).
• E quando bem aplicado em conjunto os cinco princípios, aumentam bastante as chances de que o sistema criado seja simples e fácil de se manter e estender.
• Também podem se tornar parte de uma estratégia global de programação ágil e efetiva.
Agora vamos apresentar o que cada um desses príncipios significam e proporcionam.
Single Responsability Principle (Princípio da Responsabilidade Única)
Este princípio tem como objetivo criar uma perspectiva diferente para um dos mais fundamentais princípios da orientação a objetos: a coesão.
Uma classe deve possuir uma responsabilidade, ou seja, deve ser especializada de tal modo que execute apenas uma tarefa e, de preferência, de uma forma bem feita. Este termo foi cunhado por Robert C. Martin em um texto chamado “The Single Responsability Principle“.
Sua definição diz que: “Uma classe deve ter somente uma razão para mudar”.
Alguns problemas que podem ocasionar caso este princípio não seja utilizado ou seja, não tenha coesão no código, podemos citar:
• Dificuldade de compreensão e manutenção.
• Dificuldade de reuso.
•