Preguntas con etiqueta 'liskov-substitution'

10
respuestas

¿Es esta una violación del Principio de Sustitución de Liskov?

Supongamos que tenemos una lista de entidades de tarea y un subtipo ProjectTask . Las tareas se pueden cerrar en cualquier momento, excepto ProjectTasks , que no se puede cerrar una vez que tienen un estado de Iniciado. La interfaz d...
hecha 16.10.2012 - 22:36
9
respuestas

Olor de código: abuso de herencia [duplicado]

En general, en la comunidad OO se ha aceptado que uno debería "favorecer la composición sobre la herencia". Por otro lado, la herencia proporciona tanto un polimorfismo como una forma sencilla y tersa de delegar todo a una clase base, a menos...
hecha 16.10.2010 - 19:27
14
respuestas

¿Existe un patrón de diseño o lenguaje que permita la * eliminación * del comportamiento o las propiedades de un objeto en una jerarquía de clases?

Un defecto bien conocido de las jerarquías de clases tradicionales es que son malas cuando se trata de modelar el mundo real. Como ejemplo, tratar de representar especies de animales con clases. En realidad, hay varios problemas al hacer eso, pe...
hecha 15.11.2011 - 13:04
9
respuestas

¿Qué puede salir mal si se viola el principio de sustitución de Liskov?

Estaba siguiendo esto pregunta muy votada sobre la posible violación del principio de sustitución de Liskov. Sé cuál es el principio de Sustitución de Liskov, pero lo que aún no está claro en mi mente es qué podría salir mal si yo, como desarr...
hecha 17.10.2012 - 17:04
5
respuestas

¿Los casos especiales con reservas no cumplen con el principio de sustitución de Liskov?

Supongamos que tengo una interfaz FooInterface que tiene la siguiente firma: interface FooInterface { public function doSomething(SomethingInterface something); } Y una clase concreta ConcreteFoo que implementa esa interfa...
hecha 30.12.2015 - 11:11
3
respuestas

¿Cómo el fortalecimiento de las condiciones previas y el debilitamiento de las postcondiciones violan el principio de sustitución de Liskov?

Leí que se viola el principio de sustitución de Liskov si: Se fortalecen las condiciones previas, o Las condiciones posteriores se debilitan Pero todavía no entiendo cómo estos dos puntos violarían el principio de sustitución de L...
hecha 19.02.2013 - 19:51
3
respuestas

¿Hay un nombre específico para la paradoja "Cuadrado hereda de un rectángulo"?

Un cierto fallo de OOP se muestra con una clase cuadrada heredada de Rectangle, donde lógicamente Square es una especialización de Rectangle y, por lo tanto, debe heredar de ella, pero todo se derrumba cuando intenta cambiar la longitud o el anc...
hecha 24.05.2013 - 19:20
1
respuesta

¿El principio de sustitución de Liskov también se aplica a las clases que implementan una interfaz?

LSP establece que las clases deben ser sustituibles por sus clases base, lo que significa que las clases derivadas y las clases base deben ser semánticamente equivalentes. ¿Pero el LSP también se aplica a las clases que implementan una interf...
hecha 22.10.2012 - 20:49
3
respuestas

¿El patrón del estado viola el principio de sustitución de Liskov?

Esta imagen se tomó de Aplicación de diseño y patrones controlados por dominio: con ejemplos en C # y .NET Esteeseldiagramadeclaseparael Patrón de estado donde un SalesOrder puede tener Diferentes estados durante su vida útil. Solo...
hecha 08.01.2013 - 19:30
6
respuestas

¿Los cambios en el rendimiento infringen el principio de sustitución de Liskov?

Di que tengo: interface Thing { GetThing(); } class FastThing : Thing { public int GetThing() { return 1; } } class SlowThing : Thing { public int GetThing() { return GetThingFromDatabase(); } }...
hecha 10.02.2013 - 00:36