OOD的设计原则
来源:互联网 发布:老人去世6年无人知 编辑:程序博客网 时间:2024/05/18 17:44
设计模式-OOD的设计原则(1)-"开-闭原则"
设计模式-OOD的设计原则(2)-"里氏代换原则"
设计模式-OOD的设计原则(3)-"依赖倒转原则"
设计模式-OOD的设计原则(4)-"接口隔离原则"
设计模式-OOD的设计原则(5)-"合成聚合复用原则"
Liskov替换原则(LSP)-Barbara Liskov
:若对每个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序P的行为功能不变,则S是T的子类型。
通俗一点的解释:子类型能够完全替换父类型,而不会让调用父类型的客户程序从行为上有任何改变。
一个经典的违反Liskov替换原则的例子是正方形与矩形之间的关系。这样的例子在谈对象设计的原则时,已经啰嗦得够多,这里我就不再赘述了 。这个例子带来的教训就是,现实世界中继承的例子,不能够完全直接套用在程序世界中。不过,作为设计的参照物,现实世界的很多规律与法则,我们仍然不可忽 视。例如鲸鱼和鱼,应该属于什么关系?从生物学的角度看,鲸鱼应该属于哺乳动物,而不是鱼类。没错,在程序世界中我们可以得出同样的结论。如果让鲸鱼类去 继承鱼类,就完全违背了Liskov替换原则。因为鱼作为父类,很多特性是鲸鱼所不具备的,例如通过腮呼吸,以及卵生繁殖。那么,二者是否具有共性呢? 有,那就是它们都可以在水中"游泳",从程序设计的角度来说,它们都共同实现了一个支持"游泳"行为的接口。
0 0
- OOD的设计原则
- 类的设计原则--OOD
- OOD设计原则
- OOD设计原则
- 一些OOD设计原则
- 一些OOD设计原则
- 设计模式-OOD的设计原则(1)-"开-闭原则"
- 设计模式-OOD的设计原则(2)-"里氏代换原则"
- 设计模式-OOD的设计原则(3)-"依赖倒转原则"
- 设计模式-OOD的设计原则(4)-"接口隔离原则"
- 设计模式-OOD的设计原则(1)-"开-闭原则"
- 设计模式-OOD的设计原则(2)-"里氏代换原则"
- 设计模式-OOD的设计原则(3)-"依赖倒转原则"
- 设计模式-OOD的设计原则(4)-"接口隔离原则"
- 设计模式-OOD的设计原则(1)-"开-闭原则"
- 设计模式-OOD的设计原则(2)-"里氏代换原则"
- 设计模式-OOD的设计原则(3)-"依赖倒转原则"
- 设计模式-OOD的设计原则(1)-"开-闭原则"
- 通知机制
- TCP/IP协议三次握手与四次握手流程解析
- 集合 --- TreeSet
- java中常见异常
- docker学习
- OOD的设计原则
- Hessian Binary Web Service Protocol远程接口调用入门
- 转载:ROS on ARM--RK3066上本地编译ROS Groovy
- 如何清除浏览器的cookie
- jxl 导出excle整理
- Ubuntu 14 下使用离线包安装mysql
- QT5入门之5 - 确认退出对话框
- PHP图片处理
- Android中使用代码截图的各种方法总结