SOLID (programación orientada a objetos)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 8 de octubre de 2018; las comprobaciones requieren 39 ediciones .

SOLID (abreviatura de responsabilidad única en inglés  , abierto-cerrado , sustitución de Liskov , segregación de interfaz e inversión de dependencia ) en programación es un acrónimo mnemotécnico introducido por Michael Feathers para los primeros cinco principios nombrados por Robert Martin [1] [2] a principios de la década de 2000 [3] , que significaba los 5 principios básicos de la programación y el diseño orientados a objetos .

¿Para qué sirven los principios SOLID?

Al crear sistemas de software, el uso de los principios de SOLID contribuye a la creación de un sistema que será fácil de mantener y expandir con el tiempo [3] . Los principios SOLID son pautas que también se pueden aplicar mientras se trabaja en software existente para mejorarlo, como eliminar el " código oloroso ".

Las estrategias de desarrollo ágiles y adaptativas [3] implican escribir código de acuerdo con los principios SOLID.

Principios

Los siguientes 5 principios SOLID ayudan a deshacerse de los "signos de un mal proyecto" [4] :

Inicial Representa [1] Título [4] , concepto
S PVP [5] principio de responsabilidad única Se debe definir un solo propósito para cada clase. Todos los recursos necesarios para su implementación deben estar encapsulados en esta clase y subordinados solo a esta tarea.
O COP [6] El principio de apertura/cercanía (principio abierto-cerrado) "las entidades de software... deben estar abiertas para la extensión, pero cerradas para la modificación".
L LSP [7] Principio de sustitución de Liskov "las funciones que usan un tipo base deberían poder usar subtipos del tipo base sin saberlo". Véase también programación por contrato .
yo Proveedor de Internet [8] principio de segregación de interfaz "muchas interfaces específicas del cliente son mejores que una interfaz de uso general" [9] .
D INMERSIÓN [10] Principio de inversión de dependencia “Dependencia de las abstracciones. No hay dependencia de algo específico” [9] .

Véase también

Notas

  1. 1 2 Martin, Robert (tío Bob). Principios de O.O.D. butunclebob.com. Consultado el 3 de mayo de 2016. Archivado desde el original el 25 de octubre de 2016. (Nótese la referencia a los "primeros cinco principios", es decir, el artículo no usa el acrónimo).
  2. Martín, Robert (tío Bob). Obtener un comienzo SÓLIDO . objetomentor.com. Consultado el 3 de mayo de 2016. Archivado desde el original el 26 de diciembre de 2016.
  3. 1 2 3 Sandi Metz (Universidad de Duke). Diseño orientado a objetos SOLID (enlace no disponible) . Consultado el 3 de mayo de 2016. Archivado desde el original el 29 de marzo de 2014.   Hablando en la Conferencia Gotham Ruby de 2009 en mayo de 2009.
  4. ↑ 1 2 Robert S. Martín, Mika Martín. Principios, patrones y técnicas de desarrollo ágil en C#. - San Petersburgo. : Symbol-plus, 2011. - S. 8. - 768 p. - ISBN 978-5-93286-197-4 .
  5. Principio de Responsabilidad Única . Archivado desde el original el 1 de junio de 2015.
  6. Principio abierto/cerrado . Archivado desde el original el 5 de septiembre de 2015.
  7. Principio de sustitución de Liskov . Archivado desde el original el 5 de septiembre de 2015.
  8. Principio de segregación de la interfaz (1996). Archivado desde el original el 5 de septiembre de 2015.
  9. 1 2 Martin, Robert (tío Bob). Principios de diseño y patrones de diseño . objectmentor.com (2000). Consultado el 14 de enero de 2009. Archivado desde el original el 6 de septiembre de 2015.
  10. Principio de inversión de dependencia . Archivado desde el original el 5 de septiembre de 2015.

Literatura

Enlaces