Qual é o princípio de responsabilidade única?

Na programação e design de computadores, o princípio de responsabilidade única é um conceito que defende a visão de que qualquer classe de um programa deve executar apenas uma função no aplicativo maior. Essa idéia promove parcialmente alguns dos ideais da programação orientada a objetos, como o encapsulamento, porque uma classe inteira se concentrará em executar uma única responsabilidade e terá pouca dependência de classes externas. Ao mesmo tempo, é um tanto antitético a alguns dos conceitos da programação orientada a objetos, porque a função de um único objeto é dissociada dos dados que o objeto está manipulando, o que significa que muitos objetos em combinação podem precisar ser construídos para manter alguns dados centrais. O princípio da responsabilidade única é a base para um tipo de modelo de design conhecido como design controlado por responsabilidade.

Um exemplo do princípio de responsabilidade única pode assumir a forma de um telefone tradicional. Alguns princípios de design considerariam o aparelho como um único objeto que lida com a entrada da linha telefônica e a transmissão da saída do alto-falante. Sob um modelo de responsabilidade único, no qual um único objeto deveria ter apenas uma única responsabilidade, o aparelho consistiria em vários objetos separados, cada um deles executando uma única função, como receber apenas a entrada da linha telefônica ou apenas enviar os dados através de o fone de ouvido.

Uma das vantagens que o uso do princípio de responsabilidade única torna possível é um nível muito alto de abstração e modularidade. No exemplo do aparelho, a entrada da linha telefônica ou a maneira como o sinal é emitido para o usuário podem ser alteradas sem afetar as classes vizinhas, desde que sigam o mesmo contrato de interface. Além disso, a reutilização de certos componentes pode ser muito alta, porque cada classe é totalmente encapsulada e depende muito pouco, se é que existe, de objetos vizinhos, concentrando-se na sua única responsabilidade.

Uma complicação que o princípio de responsabilidade única pode criar é uma grande quantidade de classes e objetos que estão operando nos mesmos dados. Isso pode significar uma grande quantidade de sobrecarga e um processo de design complicado. Também pode dificultar a depuração de um programa grande, porque uma única parte do programa pode consistir em milhares de arquivos de classe pequena.

Quando o princípio de responsabilidade única é aplicado por meio de um design controlado por responsabilidade, os dados e os métodos usados ​​para manipular os dados são separados para fins de design. Embora isso leve a uma certa liberdade, encapsulamento e modularidade no design, também pode gerar vários padrões e designs intermediários que devem ser usados ​​para facilitar várias classes, todas tentando interagir com os dados de uma só vez. Por outro lado, se os dados de um objeto e os métodos usados ​​para manipulá-los forem unidos em um único objeto de múltiplas responsabilidades, o código poderá se tornar mais difícil de modificar à medida que os sistemas escalam, mudam ou se tornam mais complexos.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?