Déconstruction LSP

Bonjour, je m'appelle Dmitry Karlovsky. Et vous êtes sur Core Dump , où nous prenons différents sujets de l'informatique et les déconstruisons morceau par morceau. Cette fois, nous allons commencer à déconstruire les principes SOLID en commençant par les plus concrets.



En 1987, Barbara Liskov a formulé le principe de développer un nom pour elle-même.



Principe de substitution de Liskov

Il vous permet de comprendre si vous avez écrit correctement ou non du code polymorphe. Mais avant de le formuler, nous devons comprendre certains des concepts inclus dans la définition.



Enregistrement vidéo de cette analyse .



Relation supertype-sous-type



Toutes les données de notre programme appartiennent à un type ou à un autre. Le type définit l'ensemble des valeurs possibles et leur sémantique. Un type peut en inclure complètement un autre. Dans un tel cas, le deuxième type est un sous-type du premier. De cette manière, les types peuvent former une hiérarchie. Regardons un exemple avec des nombres.





Le type d'entiers et le type de nombres positifs sont séparément des cas particuliers du type de nombres réels, et sont donc ses sous-types. Dans le même temps, les ensembles n'incluent pas tous les positifs. Et les positifs n'incluent pas tous les ensembles. Par conséquent, ces types n'appartiennent pas les uns aux autres dans une relation supertype-sous-type. Mais les nombres naturels sont à la fois des entiers et des positifs en même temps, de sorte que le type de nombres naturels est un sous-type de ces deux types.



"-" , , — , .





. , . . , , — , .





, , .





— .





, draw . — .



LSP —



, : " , , , ".





, , , , , . , LSP : , .



, ...



LSP



, -, , .





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





, , , . ..



  1. ( )
  2. ( )
  3. :

    • ( )
    • ( )


, , LSP .



LSP



- . , , , , LSP . — .





, , , .



LSP



, LSP , ...



" , , , ".



, , — . , , .





LSP?



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



LSP, , — , . . , .



  • LSP :-(
  • :-)


?



. , , .



:

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



..









-

Si cette analyse vous a semblé utile, faites-le moi savoir par le même moyen. Et partagez également un lien vers celui-ci avec vos collègues.



Si vous n'êtes pas d'accord avec une pensée ou, au contraire, si vous ressentez une sorte d'euphémisme et que vous souhaitez ajouter vos idées, alors j'attends vos commentaires avec impatience.



Si vous n'avez pas peur de discuter avec moi à l'antenne, ou si vous êtes même prêt à devenir co-auteur de futures analyses, écrivez des télégrammes .



Enfin, abonnez-vous à la chaîne pour ne pas manquer d'autres informations. Nous avons encore beaucoup à discuter avec vous.



C'est tout pour le moment. Avec vous était un petit programmeur Dmitry Karlovsky.




All Articles