28-02-2023
Princípios SOLID - Princípio da Responsabilidade Única (PRU) - 1 de 5
Michael Feathers criou o acrónimo SOLID para 5 princípios que têm como objetivo tornar o software mais consistente, reaproveitável e com fácil manutenção. Num artigo publicado no ano passado, fizemos uma pequena abordagem a propósito destes 5 princípios SOLID (ver link na parte inferior deste artigo). Hoje vamos falar em mais detalhe sobre o primeiro princípio (S), o Princípio da Responsabilidade Única (Single Responsibility Principle).
A regra por trás do princípio da responsabilidade única é que um componente, seja uma classe, um método, ou uma função, deve possuir apenas uma responsabilidade. Isto significa também que o componente não pode ter mais de um motivo para ser alterado. Por exemplo, criamos a classe Livro com o método imprimir, esta classe tem de ser alterada quando há alterações relativas ao livro e também quando muda a forma de imprimir, ou seja, já se violou o princípio. Tem de ser criada a classe Livro e a classe Impressão de forma a serem componentes independentes e isolados.
Reconhecer o escopo, ou seja, saber onde começa e termina a responsabilidade de um determinado componente, pode não ser fácil. Uma forma que pode ajudar a perceber isto é colocar no nome do componente tudo o que ele faz, ou seja, tudo pelo qual ele é responsável. Se o nome se tornar grande e complexo é porque o princípio já está a ser violado.
Com a aplicação deste princípio a reutilização de código torna-se ainda mais natural, uma vez que sabemos perfeitamente o que cada componente faz e não há surpresas. De igual forma a refatorização do código também fica mais simples. A criação de testes automatizados, como por exemplo os testes unitários fica muito mais facilitada, sendo que os componentes são isolados. A geração de bugs vai ser menor e mesmo surgindo algum bug será muito simples de o corrigir, pois consegue-se isolar o bug e chegar a ele rapidamente. Adicionar novas funcionalidades ao software também se torna mais simples porque é claro onde se tem de se adicionar o novo código para integrar a funcionalidade.
O principio da responsabilidade única é fundamental para uma arquitetura madura, consistente e sustentável. Seguir este princípio é uma ideia que deve estar sempre presente no desenvolvimento de software, mas geralmente para conseguir obedecer a este princípio tem de se aplicar simultaneamente outros dos princípios SOLID sobre os quais falaremos em breve.
Artigos relacionados:
👉 Instagram @niuGIS
RELACIONADAS