[RUBY] Précautions lors de l'écriture d'un programme: 3e partie

Précautions lors de l'écriture d'un programme: 3e partie

1. Conclusion </ b> 2. Quel est le principe de remplacement de Riskoff? </ B> 3. Pourquoi avons-nous besoin du principe de remplacement de Liskov? </ B> 4. Comment utiliser le principe de remplacement de Liskov </ b> 5. Ce que j'ai appris d'ici </ b>

  1. Conclusion

Suivez le principe de remplacement de Riskov!

  1. Quel est le principe de remplacement de Liskov?

● Quel est le principe de remplacement de Riskoff?

En termes simples, la classe parent est une classe enfant Je dois faire le même mouvement </ b>

Pour le dire autrement, la classe enfant est une méthode de la classe parent. Cela signifie que vous ne devez pas changer le comportement.

  1. Comment utiliser le principe de remplacement de Riskoff

Cela sera également expliqué à l'aide d'un exemple!

Principe de remplacement de Riskov


class A
 def initialize(aaa)
 end

 def a
 end
end

class B < A
 def initialize(aaa)
  @bbb = aaa
 end
 
 def b
 end
end

================

class C < A 
 def initialize(aaa)
 @bbb = aaa
 @ccc = aaa
 end
 
 def a
 end
 
 def c
 end

Pas un principe de remplacement de Riskov


class A
 def initialize(aaa)
 end

 def a
 end
end

class B < A
 def initialize(aaa)
  @bbb = aaa
 end
 
 def b
 end
end

class B < A 
 def initialize(aaa)
 @ccc = aaa
 end

================

class B < A
 def initialize(aaa)
  @bbb = aaa
  @ccc = aaa
 end

def a
 if ccc
 else
    ccc_a
 end

 def c
 end
end

Pour ceux qui ne sont "pas le principe de remplacement de Riskoff" Sous ================= Bien que ce soit de la classe B Vers le «principe de remplacement Riskov» Sous ================= Conversion en classe C.

Plutôt que d'être ensemble en classe B Il est divisé en classe iC et suit le principe.


  1. Avez-vous besoin du principe de remplacement Liskov?

En conclusion, les points clés lors de l'écriture de la programmation sont: Je pense que ce sera résumé en trois.

I) Maintenabilité: Facile à corriger (erreurs faciles à trouver) et facile à gérer Ⅱ) Extensibilité: facilité d'implémentation de fonctions supplémentaires Ⅲ) Lisibilité: description facile à comprendre Je pense que c'est nécessaire.

Les trois choses ci-dessus sont lorsque j'explique les quatre autres principes Je dis la même chose, donc si vous lisez l'un des cinq principes Toutes les conclusions s'inscrivent dans ces trois.

En d'autres termes, pour remplir les trois Suivez le principe de remplacement de Riskoff "également (car il y a quatre autres principes)"! !! </ b>

  1. Ce que j'ai appris d'ici

i) Je ne connaissais pas du tout le principe Riskoff La recherche elle-même était très précieuse!

ii) Bien que la classe parent et la classe enfant soient liées, Le but n'était pas d'être influencé par la classe parent de la classe enfant!