
面向对象
文章平均质量分 56
茫茫灬人海
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面向对象设计原则(一)里氏替换原则
面向对象设计原则:一、LSP(里氏替换原则) 1.定义 i. 如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型S是类型T的子类型。 ii. 所有引用基类(父类)的地方必须能透明地使用其子类的对象。 上述定义类似于数学上的定义,其实简单来说就...原创 2018-05-21 11:51:52 · 734 阅读 · 0 评论 -
面向对象设计原则(二) 开放-封闭原则
开放-封闭原则(OCP):一、定义 :一个软件实体应当对扩展开放,对修改关闭。也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不修改源代码的情况下改变这个模块的行为。即对于扩展是开放的,对于修改是封闭的。当应用的需求改变时,可以对模块进行扩展,对模块行为扩展时,不是改动模块源代码或二进制代码。二、开闭原则由Bertrand Meyer于1988年提出,它是面向对象...原创 2018-05-21 19:16:13 · 866 阅读 · 0 评论 -
面向对象设计原则(三) 单一职责原则
单一职责原则:核心关键:就一个类而言,应该仅有一个引起它变化的原因。有关类的职责分配问题,是面向对象设计中最重要的基本原则。类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。SRP体现了内聚性(一个模块的组成元素之间的功能相关性)。案例:计算几何程序违反SRP的案例...原创 2018-05-30 10:30:18 · 622 阅读 · 0 评论 -
面向对象设计原则(四) 接口隔离原则
接口隔离原则一、接口污染: 1.需求:一扇能超时报警的门。 2.设计:Door类{Open();Close();TimeOut()} 3.当需要其他门时习惯性从Door中继承,此时会有问题:所有的门都有TimeOut()方法,即使它不需要。二、接口隔离原则: 1.客户不应该依赖于他们用不到的方法,只给每个客户它所需要的接口。 2.未避免“肥接口”(fat interf...原创 2018-05-30 11:06:43 · 556 阅读 · 0 评论 -
面向对象设计原则(五) 依赖倒置原则
依赖倒置原则(DIP):一、1.高层模块不应该依赖于底层模块。二者都应该依赖于抽象。 2.抽象不应该依赖于细节,细节应该依赖于抽象。 3.针对接口编程,不要针对实现编程。二、软件大师Booch曾说过:所有结构良好的面向对象架构都具有清晰地层次定义,每个层次通过一个定义良好的、受控的接口向外提供了一组内聚的服务。三、案例:解决方案:上接:面向对象设计原则(四)接口隔离原则下...原创 2018-05-30 11:33:44 · 572 阅读 · 0 评论 -
面向对象设计原则(六)
启发式原则:1.依赖于抽象——程序中所有依赖关系都应该终止于抽象类或者接口2.任何变量都不应该拥有指向具体类的指针或者引用。3.任何类都不应该从具体类派生4.任何方法都不应该改写其任何基类中已经实现的方法上接:面向对象设计原则(五)依赖倒置原则如有错误,还请指出,非常感谢!!...原创 2018-05-30 11:40:08 · 352 阅读 · 0 评论