Olá, meu nome é Dmitry Karlovsky. E você está no canal Core Dump , onde pegamos vários tópicos da ciência da computação e os desconstruímos nas prateleiras. Desta vez, começaremos a desconstruir os princípios SOLID começando com os mais concretos.
Em 1987, Barbara Liskov formulou o princípio de desenvolver um nome para si mesma.
Princípio de Substituição Liskov
Ele permite que você entenda se escreveu o código polimórfico corretamente ou não. Mas antes de formulá-lo, precisamos entender alguns dos conceitos que estão incluídos na definição.
Gravação de vídeo desta análise .
Relação supertipo-subtipo
Todos os dados em nosso programa pertencem a um tipo ou outro. O tipo define o conjunto de valores possíveis e sua semântica. Um tipo pode incluir outro completamente. Nesse caso, o segundo tipo é um subtipo do primeiro. Dessa forma, os tipos podem formar uma hierarquia. Vejamos um exemplo com números ..
Tanto o tipo de inteiros quanto o tipo de números positivos são separadamente casos especiais do tipo de números reais e, portanto, são seus subtipos. Ao mesmo tempo, todos não incluem todos os positivos. E os positivos não incluem todos os todos. Portanto, esses tipos não pertencem um ao outro em um relacionamento supertipo-subtipo. Mas os números naturais são inteiros e positivos ao mesmo tempo, então o tipo de número natural é um subtipo de ambos os tipos.
"-" , , — , .
. , . . , , — , .
, , .
— .
, draw
. — .
LSP —
, : " , , , ".
, , , , , . , LSP : , .
, ...
LSP
, -, , .
, , "", . . , , . LSP. , . "".
, , , . ..
- — ( )
- — ( )
- :
- ( )
- ( )
, , LSP .
LSP
- . , , , , LSP . — .
, , , .
LSP
, LSP , ...
" , , , ".
, , — . , , .
LSP?
, , LSP. , , , . , - , . , .
LSP, , — , . . , .
- LSP :-(
- :-)
?
. , , .
:
, . - . - . - . , , , .
..
-
Se esta análise pareceu útil para você, então me avise sobre isso por meio do mesmo. E também compartilhe um link para ele com seus colegas.
Se você discordar de qualquer pensamento ou, inversamente, sentir algum tipo de eufemismo e quiser acrescentar suas próprias ideias, aguardo seus comentários.
Se você não tem medo de debater comigo no ar, ou está até pronto para se tornar coautor de análises futuras, escreva telegramas .
Por fim, inscreva-se no canal para não perder mais insights. Ainda temos muito que discutir com você.
É tudo por agora. Com você estava um pequeno programador Dmitry Karlovsky.