Questions marquées «liskov-substitution»

Pour des questions sur le principe de substitution de Liskov dans la conception orientée objet.

10
Est-ce une violation du principe de substitution de Liskov?
Supposons que nous ayons une liste d'entités de tâche et un ProjectTasksous-type. Les tâches peuvent être fermées à tout moment, à l'exception des tâches ProjectTasksqui ne peuvent pas être fermées une fois qu'elles ont le statut Lancé. L’interface utilisateur doit s’assurer que l’option de fermeture d’un espace ouvert ProjectTaskn’est jamais …



14
Existe-t-il un langage ou un modèle de conception qui permet la * suppression * du comportement ou des propriétés des objets dans une hiérarchie de classes?
Un inconvénient bien connu des hiérarchies de classes traditionnelles est qu'elles sont mauvaises en ce qui concerne la modélisation du monde réel. Par exemple, essayer de représenter les espèces animales avec des classes. Il y a en fait plusieurs problèmes en faisant cela, mais celui auquel je n'ai jamais vu …


5
Les cas spéciaux avec repli violent-ils le principe de substitution de Liskov?
Disons que j'ai une interface FooInterfacequi a la signature suivante: interface FooInterface { public function doSomething(SomethingInterface something); } Et une classe concrète ConcreteFooqui implémente cette interface: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } J'aimerais ConcreteFoo::doSomething()faire quelque chose d'unique s'il passe un type d' SomethingInterfaceobjet spécial …

3
Comment le renforcement des conditions préalables et l'affaiblissement des post-conditions violent-ils le principe de substitution de Liskov?
J'ai lu que le principe de substitution de Liskov est violé si: Les conditions préalables sont renforcées, ou Les postconditions sont affaiblies Mais je ne sais pas encore comment ces deux points violeraient le principe de substitution de Liskov. Quelqu'un peut-il expliquer avec un exemple. Plus précisément, comment l'une des …



1
Le principe de substitution de Liskov s'applique-t-il également aux classes implémentant une interface?
LSP indique que les classes doivent être substituables à leurs classes de base, ce qui signifie que les classes dérivées et de base doivent être sémantiquement équivalentes. Mais LSP s'applique-t-il également aux classes implémentant une interface? En d'autres termes, si une méthode d'interface implémentée par une classe est sémantiquement différente …

2
Monde réel - Principe de substitution de Liskov
Contexte: Je développe un cadre de messagerie. Ce cadre permettra: envoi de messages via un bus de service abonnement aux files d'attente sur le bus de messages abonnement à des sujets sur un bus de messages Nous utilisons actuellement RabbitMQ, mais je sais que nous allons passer à Microsoft Service …


1
Comment vérifier le principe de substitution de Liskov dans une hiérarchie d'héritage?
Inspiré par cette réponse: Le principe de substitution de Liskov exige que Les conditions préalables ne peuvent pas être renforcées dans un sous-type. Les post-conditions ne peuvent pas être affaiblies dans un sous-type. Les invariants du supertype doivent être conservés dans un sous-type. Contrainte d'historique (la "règle d'historique"). Les objets …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.