Preguntas etiquetadas con liskov-substitution

Para preguntas sobre el principio de sustitución de Liskov en el diseño orientado a objetos.






5
¿Los casos especiales con retrocesos violan el Principio de sustitución de Liskov?
Digamos que tengo una interfaz FooInterfaceque tiene la siguiente firma: interface FooInterface { public function doSomething(SomethingInterface something); } Y una clase concreta ConcreteFooque implementa esa interfaz: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Me gustaría ConcreteFoo::doSomething()hacer algo único si se pasa un tipo especial de …

3
¿Cómo el fortalecimiento de las condiciones previas y el debilitamiento de las condiciones posteriores violan el principio de sustitución de Liskov?
Leí que el principio de sustitución de Liskov se viola si: Las condiciones previas se fortalecen, o Las condiciones posteriores se debilitan Pero todavía no entiendo completamente cómo estos dos puntos violarían el principio de sustitución de Liskov. ¿Puede alguien explicarme con un ejemplo? Específicamente, ¿cómo una de las condiciones …




2
Mundo real - Principio de sustitución de Liskov
Antecedentes: estoy desarrollando un marco de mensajería. Este marco permitirá: envío de mensajes a través de un bus de servicio suscribirse a colas en el bus de mensajes suscribirse a temas en un bus de mensajes Actualmente estamos utilizando RabbitMQ, pero sé que nos trasladaremos a Microsoft Service Bus (en …


1
¿Cómo verificar el principio de sustitución de Liskov en una jerarquía de herencia?
Inspirado por esta respuesta: El principio de sustitución de Liskov requiere que Las condiciones previas no pueden fortalecerse en un subtipo. Las condiciones posteriores no pueden debilitarse en un subtipo. Las invariantes del supertipo deben conservarse en un subtipo. Restricción del historial (la "regla del historial"). Los objetos se consideran …



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.