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 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. (indefinido) (Nótese la referencia a los "primeros cinco principios", es decir, el artículo no usa el acrónimo).
- ↑ 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. (indefinido)
- ↑ 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. (indefinido) Hablando en la Conferencia Gotham Ruby de 2009 en mayo de 2009.
- ↑ 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 .
- ↑ Principio de Responsabilidad Única . Archivado desde el original el 1 de junio de 2015. (indefinido)
- ↑ Principio abierto/cerrado . Archivado desde el original el 5 de septiembre de 2015. (indefinido)
- ↑ Principio de sustitución de Liskov . Archivado desde el original el 5 de septiembre de 2015. (indefinido)
- ↑ Principio de segregación de la interfaz (1996). Archivado desde el original el 5 de septiembre de 2015. (indefinido)
- ↑ 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. (indefinido)
- ↑ Principio de inversión de dependencia . Archivado desde el original el 5 de septiembre de 2015. (indefinido)
Literatura
- Robert S. Martin, James W. Newkirk, Robert S. Koss. Rápido desarrollo de software. Principios, ejemplos, práctica. -Williams, 2004, ISBN 5-8459-0558-3 , ISBN 0-13-597444-5 .
- Martin R., Martin M. Principios, patrones y técnicas ágiles en C#. - Símbolo Plus , 2011 _ _ _ _ _
- Martín, R. Arquitectura limpia. El arte del desarrollo de software. = Arquitectura limpia. Una guía del artesano para la estructura y el diseño del software. - Pedro, 2018. - ISBN 978-5-4461-0772-8 .
Enlaces