SOLID (object-oriented design)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En ingeniería de software, SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion) es un acrónimo mnemónico introducido por Robert C. Martin[1] [2] a comienzos de la década del 2000[3] que representa cinco principios básicos de la programación orientada a objetos y el diseño. Cuando estos principios se aplican en conjunto es más probable que un desarrollador cree un sistema que sea fácil de mantener y ampliar en el tiempo.[3] Los principio SOLID son guías que pueden ser aplicadas en el desarrollo de software para eliminar código sucio provocando que el programador tenga que refactorizar el código fuente hasta que sea legible y extensible. Debe ser utilizado con el desarrollo guiado por pruebas o TDD, y forma parte de la estrategia global del desarrollo ágil de software y programación adaptativa.[3] [4]

Resumen[editar]

Inicial Significado
(acrónimo)
Concepto
S SRP
Principio de Única Responsabilidad (Single responsibility principle)
la noción de que un objeto solo debería tener una única responsabilidad.
O OCP
Principio Abierto/Cerrado
la noción de que las “entidades de software … deben estar abiertas para su extensión, pero cerradas para su modificación”.
L LSP
Principio de sustitución de Liskov
la noción de que los “objetos de un programa deberían ser reemplazables por instancias de sus subtipos sin alterar el correcto funcionamiento del programa”. Ver también diseño por contrato.
I ISP
Principio de Segregación de la Interface (Interface segregation principle)
la noción de que “muchas interfaces cliente específicas son mejores que una interfaz de propósito general.”[5]
D DIP
Principio de Inversión de Dependencia (Dependency inversion principle)
la noción de que uno debería “Depender de Abstracciones. No depender de concreciones.”[5]
La Inyección de Dependencias es uno de los métodos que siguen este principio.

Véase también[editar]

Conceptos básicos y temas relacionados[editar]

Principios de diseño y desarrollo[editar]

Referencias[editar]

  1. “Principles Of OOD”, Robert C. Martin (“Uncle Bob”), butunclebob.com, Last verified 2009-01-14. (Note the “first five principles”, though the acronym is not used in this article.) Dates back to at least 2003.
  2. “Getting a SOLID start.”, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2009-01-14.
  3. a b c “SOLID Object-Oriented Design”, Sandi Metz (Duke University), Talk given at the 2009 Gotham Ruby Conference in May, 2009. Last verified 2009-01-15.
  4. “Introducing SOLID Object-Oriented Design Principles and Microsoft Unity”, Uwe Schmitz, Presentation given at the Regina .NET User Group in May, 2009. Last verified 2009-01-14.
  5. a b “Design Principles and Design Patterns”, Robert C. Martin (“Uncle Bob”), objectmentor.com. Last verified 2009-01-14.

SOLID Y GRASP. Buenas prácticas hacia el éxito en el desarrollo de software.