Saltar a contenido

SOLID

SOLID

  • Propuesta por Robert C.Martin en el 2000.
  • Son recomendaciones para escribir un código sostenible,mantenible,escalable y robusto.
  • Beneficios:

    • Alta Cohesión. Colaboracion entre clases.
    • Bajo Acoplamiento. Evitar que una clase dependa fuertemente de otra clase.
  • Principio de Responsabilidad Única: Una clase debe tener una razón para existir mas no para cambiar.

  • Principio de Abierto/Cerrado: Las piezas del software deben estar abiertas para la extensión pero cerradas para la modificación.
  • Principio de Sustitución de Liskov: Las clases subtipos deberían ser reemplazables por sus clases padres.
  • Principio de Segregación de Interfaz: Varias interfaces funcionan mejor que una sola.
  • Principio de Inversión de Dependencia: Clases de alto nivel no deben depender de las clases bajo nivel.

Los principios SOLID son una parte esencial del desarrollo de software orientado a objetos y han demostrado ser herramientas valiosas para desarrollar código limpio, mantenible y extensible. En la tecnología de automatización industrial, especialmente en la programación de controladores con IEC 61131-3, es de particular importancia desarrollar sistemas robustos y confiables.

OOP__7_Concepts

Además de los principios SOLID, existen otros principios como:

3_Simple_Golden_Principles In_Software_Development

Keep It Simple, Stupid (KISS).

1
" Mantenlo Simple, Estúpido "
  • Evite la complejidad innecesaria en su código, use soluciones simples para resolver problemas.

  • Ejemplo: En lugar de escribir un algoritmo personalizado para generar un número aleatorio dentro de un rango, use el generador de números aleatorios incorporado en su lenguaje de programación.

Don't Repeat Yourself (DRY).

1
" No te repitas "
  • Cada pieza de conocimiento debe tener una representación única, inequívoca y autorizada dentro de un sistema.

  • Evite la duplicación de código y mantenga su base de código lo más mantenible y escalable posible.

  • Ejemplo: En lugar de copiar y pegar el mismo bloque de código en varios lugares, cree una función o módulo que se pueda reutilizar.

Law Of Demeter (LOD).

1
" Habla Solo con tus amigos inmediatos "
  • La Ley de Demeter (LOD) en programación es un principio que establece que un objeto debe tener acceso limitado a los objetos relacionados con él y solo interactuar con los objetos más cercanos a él. En resumen, un objeto no debe conocer la estructura interna de otros objetos y solo debe comunicarse con ellos a través de una interfaz limitada.

  • Ejemplo: Si tienes una clase "Persona" que tiene un método "getNombre()" y otra clase "Empresa" que tiene un método "getPersona()". En lugar de acceder directamente al nombre de la persona desde la clase Empresa, se debería llamar al método "getNombre()" de la clase Persona desde fuera de la clase Empresa, para evitar una dependencia innecesaria y mantener una comunicación limitada entre objetos.

You Ain't Gonna Need It (YAGNI).

1
" No lo vas a necesitar "
  • No agregue funcionalidad a su código hasta que realmente lo necesite.

  • Ejemplo: No agregue una función a su aplicación que permita a los usuarios cambiar el color de la fuente si no es parte de los requisitos principales.

Todos estos principios tienen el objetivo común de mejorar la mantenibilidad y la reutilización del software.

Los principios SOLID no son reglas o leyes que deban seguirse estrictamente. Son pautas que pueden ayudarnos a mejorar nuestra calidad de código y habilidades de diseño. No están destinados a ser aplicados ciega o dogmáticamente. Están destinados a ser utilizados con sentido común y juicio.