定义 LSP由Barbara Liskov于1987年提出,一般有两种定义方式: 第一种:If for each object O1 of type S there is an object O2 fo type T such that for all programs P defined in terms of T, the behavior of P is unchanged when
在面向对象的设计中有很多流行的思想,比如说 “所有的成员变量都应该设置为私有(Private)”,“要避免使用全局变量(Global Variables)”,“使用运行时类型识别(RTTI:Run Time Type Identification,例如 dynamic_cast)是危险的” 等等。那么,这些思想的源泉是什么?为什么它们要这样定义?这些思想总是正确的吗?本篇文章将介绍这些思想的基础:
转载: http://blog.csdn.net/robinvane/ LSP The The Liskov Substitution PrincipleOCP原则背后的主要机制是抽象和多态。支持抽象和多态的关键机制是继承。 LSP的定义 若对于每一个类型P的对象p1,都存在一个类型C的对象c1,使得在所有针对C编写的程序P中,用p1替换c1后,程序P的行为功能不变,则C是P的子类型。 L
SOLID是5个面向对象设计原则英文单词的缩写,旨在帮助软件设计变得可理解、可伸缩、可维护。在 Robert C. Martin(他是一位软件工程师,也是一位大学老师)2000年的文章《设计原则和设计模式中》,这5个原则首次被提出来。SOLID原则分别指: 单一职责原则:有且只有一个引起变更的原因 开闭原则:软件实体应该被设计为对扩展开放,对修改关闭 里式替换原则:使用基类引用(或指针)的