Deconstrucción LSP

Hola, mi nombre es Dmitry Karlovsky. Y estás en el canal Core Dump , donde tomamos diferentes temas de la informática y los deconstruimos en los estantes. Esta vez, comenzaremos a deconstruir los principios SOLID comenzando por los más concretos.



En 1987, Barbara Liskov formuló el principio de desarrollar un nombre para ella.



Principio de sustitución de Liskov

Le permite comprender si ha escrito código polimórfico correctamente o no. Pero antes de formularlo, debemos comprender algunos de los conceptos que se incluyen en la definición.



Grabación de video de este análisis .



Relación supertipo-subtipo



Todos los datos de nuestro programa pertenecen a un tipo u otro. El tipo define el conjunto de valores posibles y su semántica. Un tipo puede incluir completamente a otro. En tal caso, el segundo tipo es un subtipo del primero. De esta forma, los tipos pueden formar una jerarquía. Veamos un ejemplo con números.





Tanto el tipo de números enteros como el tipo de números positivos son casos especiales separados del tipo de números reales y, por lo tanto, son sus subtipos. Al mismo tiempo, los totales no incluyen todos los positivos. Y los positivos no incluyen todos los totales. Por lo tanto, estos tipos no se pertenecen entre sí en una relación supertipo-subtipo. Pero los números naturales son tanto enteros como positivos, por lo que el tipo de números naturales es un subtipo de ambos tipos.



"-" , , — , .





. , . . , , — , .





, , .





— .





, draw . — .



LSP —



, : " , , , ".





, , , , , . , LSP : , .



, ...



LSP



, -, , .





, , "", . . , , . LSP. , . "".





, , , . ..



  1. ( )
  2. ( )
  3. :

    • ( )
    • ( )


, , LSP .



LSP



- . , , , , LSP . — .





, , , .



LSP



, LSP , ...



" , , , ".



, , — . , , .





LSP?



, , LSP. , , , . , - , . , .



LSP, , — , . . , .



  • LSP :-(
  • :-)


?



. , , .



:

, . - . - . - . , , , .



..









-

Si este análisis le pareció útil, hágamelo saber a través de similares. Y también comparta un enlace con sus colegas.



Si no está de acuerdo con algún pensamiento o, por el contrario, siente algún tipo de subestimación y desea agregar sus ideas, espero sus comentarios.



Si no tiene miedo de debatir conmigo en el aire, o incluso está listo para convertirse en coautor de análisis futuros, escriba telegramas .



Finalmente, suscríbete al canal para no perderte más información. Aún tenemos mucho que discutir contigo.



Eso es todo por ahora. Con usted estaba un pequeño programador Dmitry Karlovsky.




All Articles