美文网首页
面向对象设计原则

面向对象设计原则

作者: Laken | 来源:发表于2018-11-11 17:44 被阅读0次

七种最常见的面向对象设计原则的基本概念

1、单一职责原则(Single Responsibility Principle, SRP):
一个类只负责模块中的一个职责,只有这个职责的改变,才是这个类改变唯一的原因。

2、接口隔离原则(Interface Segregation Principle, ISP):
使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

3、里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类(父类)的地方必须能透明地使用其子类的对象。

4、依赖倒转原则(Dependency Inversion Principle, DIP):抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

5、开闭原则(Open-Closed Principle, OCP):一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

6、合成复用原则(Composite Reuse Principle, CRP):尽量使用对象组合,而不是继承来达到复用的目的。

7、迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用。

迪米特法则就是应该尽量减少对象之间的交互,如果两个对象之间不必彼此直接通信,那么这两个对象就不应当发生任何直接的相互作用,如果其中的一个对象需要调用另一个对象的某一个方法的话,可以通过第三者转发这个调用,如代理模式。
应用在方法上就是一个对象的方法仅能调用以下:

  1. 这个对象本身。
  2. 方法的参数。
  3. 方法内创建的对象。
  4. 对象的任何直接成员属性。

简单梳理一遍,加深印象,理解后基本上就不会忘记了。


当我们创建一个类之前会想这个类是用来干嘛的,它的职责是什么。承担的职责越多,它被复用的可能性就越小,当其中一个职责变化时,可能会影响其他职责的运作。因此要将这些职责进行分离,将不同的职责封装在不同的类中,即单一职责原则
同样的当我们创建一个接口时也要考虑此原则,那么接口中的某个方法它的实现类不需要时怎么办呢,应当将一些方法提取成一个新的接口。即接口隔离原则,做为单一职责原则的补充。


一般情况父类的功能都是子类功能的子集,所以在使用父类的地方用子类代替后程序都不应该出现问题。即里氏代换原则
一个接口有多个实现,可以根据需求来切换不同的实现。因此针对接口编程比针对实现编程更灵活,即依赖倒转原则

里氏代换原则依赖倒转原则都是实现开闭原则的基础,即开闭原则是目标,里氏代换原则是基础,依赖倒转原则是手段


复用类时尽量使用对象组合,而不是继承。可以降低类与类之间的耦合度,一个类的变化对其他类造成的影响相对较少。即合成复用原则
站在系统的角度,一个模块发生修改时,应当尽量少地影响其他模块。即迪米特法则

相关文章

  • 面向对象设计原则

    面向对象设计原则 面向对象设计原则是设计模式的基础,每个设计模式都符合一一种或多种面向对象的设计原则。 常用的面向...

  • 面向对象设计原则(二)开闭原则

    面向对象设计原则之开闭原则 开闭原则是面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则。 开闭原则的...

  • 01-设计模式原则

    面向对象的设计原则 面向对象的设计原则也被称为SOLID。SOLID原则包括单一职责原则、开闭原则、里氏替换原则、...

  • Swift设计模式----目录

    面向对象设计原则: 开闭原则 单一职责原则 依赖倒置原则 接口分离原则 迪米特法则 里氏替换原则 面向对象设计模式...

  • 面向对象设计原则

    面向对象设计原则

  • (1)面向对象的六大原则

    什么是面向对象原则 面向对象原则——oop(object Oriented Principle),遵循原则设计程序...

  • 面向对象设计原则

    面向对象设计原则 面向对象设计原则概述[https://www.jianshu.com/p/57137d81c55...

  • 设计模式原则-开闭原则

    开闭原则(OCP)是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实...

  • 设计模式的原则

    面向对象的原则是面向对象的目标,而设计模式是为了实现这些原则的手段和方法。这也就是为什么要有设计模式。 面向对象的...

  • 面向对象、设计原则、设计模式、编程规范、重构

    面向对象、设计原则、设计模式、编程规范、重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程。 面...

网友评论

      本文标题:面向对象设计原则

      本文链接:https://www.haomeiwen.com/subject/ljxffqtx.html