lunes, 17 de mayo de 2010

Conceptos y principios de diseño de aplicaciones

Principio de Substitución Liskov (LSP)
Subclases deben poder ser substituidas por su Clase base

El Principio Abierto-Cerrado (OCP Open Close Principle) es el más importante de los principios de categoría de Clases. Y se puede decir que LSP es una extensión de OCP. Para poder tomar ventaja del LSP, debemos relacionarlo directamente al OCP por que si se viola el LSP también se está violando el OCP, pero no viceversa. En una forma más simple, es muy difícil poder diferenciar entre LSP y OCP, pero existe una sutil diferencia. OCP está centrado alrededor del acoplamiento abstracto, aunque LSP está fuertemente ligado al acoplamiento abstracto, su mayor dependencia se centra en precondiciones y post condiciones, a estos conceptos se les conoce como diseño por contrato que se establece cuando las pre y post condiciones se han formalizado. Una precondición es la parte del contrato que se debe satisfacer antes que el método sea invocado.