LSP分解

こんにちは、私の名前はドミトリー・カルロフスキーです。そして、あなたはCore Dumpチャネルにいます。そこでは、コンピュータサイエンスからさまざまなトピックを取り上げ、棚でそれらを分解します。今回は、最も具体的なものから始めて、SOLIDの原則の分解を開始します。



1987年に、バーバラ・リスコフは自分の名前を開発するという原則を策定しました。



リスコフ置換原理

これにより、ポリモーフィックコードを正しく記述したかどうかを理解できます。しかし、それを定式化する前に、定義に含まれているいくつかの概念を理解する必要があります。



この分析のビデオ録画



スーパータイプとサブタイプの関係



私たちのプログラムのすべてのデータは、あるタイプまたは別のタイプに属しています。タイプは、可能な値のセットとそのセマンティクスを定義します。あるタイプに別のタイプを完全に含めることができます。このような場合、2番目のタイプは最初のタイプのサブタイプです。このようにして、型は階層を形成できます。数字の例を見てみましょう。





整数のタイプと正の数のタイプはどちらも、実数のタイプの個別の特殊なケースであるため、そのサブタイプです。同時に、全体にすべての肯定的なものが含まれているわけではありません。そして、ポジティブなものはすべてを含んでいるわけではありません。したがって、これらのタイプは、スーパータイプとサブタイプの関係で互いに属していません。ただし、自然数は整数であると同時に正であるため、自然数のタイプはこれら両方のタイプのサブタイプです。



"-" , , — , .





. , . . , , — , .





, , .





— .





, draw . — .



LSP —



, : " , , , ".





, , , , , . , LSP : , .



, ...



LSP



, -, , .





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





, , , . ..



  1. ( )
  2. ( )
  3. :

    • ( )
    • ( )


, , LSP .



LSP



- . , , , , LSP . — .





, , , .



LSP



, LSP , ...



" , , , ".



, , — . , , .





LSP?



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



LSP, , — , . . , .



  • LSP :-(
  • :-)


?



. , , .



:

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



..









-

この分析があなたにとって有用であると思われる場合は、などを通じて私に知らせてください。また、それへのリンクを同僚と共有します。



何か考えに同意できない場合、または逆に、ある種の控えめな表現を感じて、独自のアイデアを追加したい場合は、コメントをお待ちしております。



放送中に私と議論することを恐れない場合、または将来の分析の共著者になる準備ができている場合は、電報を書いてください



最後に、チャンネルに登録して、さらなる洞察を見逃さないようにします。私たちはまだあなたと話し合うことがたくさんあります。



それは今のところすべてです。あなたと一緒に小さなプログラマーのドミトリー・カルロフスキーがいました。




All Articles