加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

OOD原则

发布时间:2020-12-13 20:19:04 所属栏目:百科 来源:网络整理
导读:OOD原则 一、单一职责原则(SRP) 就是就一个类而言,应该仅有一个引起它的变化的原因。换句话说,一个类的功能要单一,只做与它相关的事情。 二、开放封闭原则(OCP) 软件实体对于扩展是开放的,对于修改是封闭的。 A module should be open for extension but cl

OOD原则

一、单一职责原则(SRP)
就是就一个类而言,应该仅有一个引起它的变化的原因。换句话说,一个类的功能要单一,只做与它相关的事情。

二、开放封闭原则(OCP)
软件实体对于扩展是开放的,对于修改是封闭的。

A module should be open for extension but closed for modification.一个模块应该只在扩展的时候被打开(暴露模块内部),在修改的时候是关闭的(模块是黑盒子)

三、Liskov替换原则(LSP)

Subclasses should be substitutable for their base classes.子类应该可以替换其基类
子类型必须能够替换掉它们的基类型。
  举例:
  正方形不应该继承自矩形,因为在下面函数中不能实现替换
  void g(Rectangle& r)
{
r.setwidth(5);
r.setHeight(4);
assert(r.Area() == 20)
}
  如果给r一个正方形对象,断言将不成立。

  LSP是使OCP成为可能的主要原则之一。

四、依赖倒置原则(DIP)
1.高层模块不应该依赖于低层模块,二者应该依赖于抽象
  2.抽象不应该依赖于细节。细节应该依赖于抽象。

Depend upon Abstractions. Do not depend upon concretions.依赖抽象,不要依赖具体

五、接口隔离原则(ISP)
不应该强迫客户依赖于它们不用的方法。
这个原则用于处理“胖”接口。如果接口不是内聚的,可以分成多组方法,表示这是一个“胖”接口。一些客户程序可以使用一组成员函数,而其他客户程序可以使用其他组成员函数。“胖”接口是违反ISP的。

Many client specific interfaces are better than one general purpose interface多个和客户相关的接口要好于一个通用接口。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读