¿Cuál es el principio de responsabilidad única?

En programación y diseño de computadoras, el principio de responsabilidad única es un concepto que defiende la opinión de que cualquier clase en un programa debe realizar solo una función en la aplicación más grande. Esta idea promueve en parte algunos de los ideales de la programación orientada a objetos, como la encapsulación, porque una clase completa se centrará en realizar una sola responsabilidad y tendrá poca dependencia de clases externas. Al mismo tiempo, es algo antitético a algunos de los conceptos de programación orientada a objetos temprano, porque la función de un solo objeto se desacopla a partir de los datos que el objeto está manejando, lo que significa que muchos objetos en combinación pueden necesitar ser construidos para mantener algunos datos centrales. El principio de responsabilidad única es la base de un tipo de modelo de diseño conocido como diseño basado en la responsabilidad.

Un ejemplo del principio de responsabilidad única podría tomar la forma de un teléfono telefónico tradicional. Algunos principios de diseño verían el auricular uns Un objeto único que maneja la entrada de la línea telefónica y la transmisión de salida del altavoz. En un solo modelo de responsabilidad, en el que un solo objeto solo debe tener una sola responsabilidad, el teléfono consistiría en varios objetos separados que cada uno realizó una sola función, como solo recibir información de la línea telefónica, o solo producir los datos a través del auricular.

Una de las ventajas que utilizar el principio de responsabilidad única es posible es un nivel muy alto de abstracción y modularidad. En el ejemplo del teléfono, la entrada de la línea telefónica o la forma en que la señal se genera al usuario puede cambiarse sin afectar las clases vecinas siempre que se adhieran al mismo contrato de interfaz. Además, la reutilización de ciertos componentes puede ser muy alta, porque cada clase está completamente encapsulada y se basa eny poco, si es que lo hace, en los objetos circundantes, centrándose en su único responsabilidad.

.

Una complicación que el principio de responsabilidad única podría crear es una gran cantidad de clases y objetos que todos están operando con los mismos datos. Esto puede significar una gran cantidad de sobrecarga y un proceso de diseño complicado. También puede dificultar la depuración de un gran programa, porque una sola parte del programa podría consistir en miles de archivos de clase pequeña.

Cuando el principio de responsabilidad única se aplica a través de un diseño basado en responsabilidad, los datos y los métodos utilizados para manipular los datos se separan para fines de diseño. Si bien esto conduce a una cierta libertad, encapsulación y modularidad en el diseño, también puede generar una serie de patrones y diseños intermedios que deben usarse para facilitar una serie de clases que intentan interactuar con los datos a la vez. Por otro lado, si los datos de un objeto y los métodos utilizados para manipularlos todo están atados a TogetElla en un solo objeto de responsabilidad múltiple, entonces el código puede ser más difícil de modificar a medida que los sistemas escala, cambian o se vuelven más complejos.

OTROS IDIOMAS