打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
设计原则-SOLID

SOLID六大设计原则

设计模式的六大原则有:

  1. Single Responsibility Principle:单一职责原则

  2. Open Closed Principle:开闭原则

  3. Liskov Substitution Principle:里氏替换原则

  4. The Least Knowledge Principle:最少知识原则

  5. Interface Segregation Principle:接口隔离原则

  6. Dependence Inversion Principle:依赖倒置原则

把这六个原则的首字母联合起来(两个 L 算做一个)就是 SOLID (solid,稳定的),其代表的含义就是这六个原则结合使用的好处:建立稳定、灵活、健壮的设计。下面我们来分别看一下这六大设计原则。

一、单一职责原则(Single Responsibility Principle)

一个类应该只有一个发生变化的原因

There should never be more than one reason for a class to change.

二、开闭原则(Open Closed Principle)

一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭

Software entities like classes, modules and functions should be open for extension but closed for modification

三、里氏替换原则(Liskov Substitution Principle)

所有引用基类的地方必须能透明地使用其子类的对象

Functions that use use pointers or references to base classes must be able to use objects of derived classes without knowing it.

四、最少知识原则(The least knowledge principle)

又称迪米特法则(Law of Demeter)

只与你的直接朋友交谈,不跟“陌生人”说话

Talk only to your immediate friends and not to strangers

其含义是:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。

五、接口隔离原则(Interface Segregation Principle)

1、客户端不应该依赖它不需要的接口。

2、类间的依赖关系应该建立在最小的接口上。

Clients should not be forced to depend upon interfaces that they don`t use.

The dependency of one class to another one should depend on the smallest possible.

六、依赖倒置原则(Dependence Inversion Principle)

1、上层模块不应该依赖底层模块,它们都应该依赖于抽象。

2、抽象不应该依赖于细节,细节应该依赖于抽象。

High level modules should not depend upon low level modules. Both should depend upon abstractions.

Abstractions should not depend upon details. Details should depend upon abstractions.

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
[设计]漫谈开发设计中的一些原则及设计哲学
设计模式-----依赖倒置原则(Dependence Inversion Principle)
老徐的博客 ? Blog Archive ? OOAD三部曲之OOAD的原则(1):SOLID原则
软件架构设计的六大原则
解惑 » 日志 » OO设计模式和设计原则(转帖)
Java程序员应当知道的10个面向对象设计原则
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服