首页 > 其他分享 >【白话设计模式】课程笔记整理

【白话设计模式】课程笔记整理

时间:2022-09-19 13:57:46浏览次数:57  
标签:原则 白话 笔记 开闭 抽象 Principle 设计模式 替换

白话设计模式

六大设计原则

开闭原则

Open-Close Principle,OCP

在⾯向对象编程领域中,开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修改封闭的。

开闭原则的核⼼思想也可以理解为⾯向抽象编程

单⼀职责原则

单⼀职责原则(Single Responsibility Principle,SRP)⼜称单⼀功能原则。

如果需要开发的⼀个功能需求不是⼀次性的,且随着业务发展的不断变化⽽变化,那么当⼀个Class类负责超过两个及以上的职责时,就在需求的不断迭代、实现类持续扩张的情况下,就会出现难以维护、不好扩展、测试难度⼤和上线⻛险⾼等问题。

实现类似于策略模式。

⾥⽒替换原则

继承必须确保超类所拥有的性质在⼦类中仍然成⽴

简单来说,⼦类可以扩展⽗类的功能,但不能改变⽗类原就是说:当⼦类继承⽗类时,除添加新的⽅法且完成新增功能外,尽量不要重写⽗类的⽅法。这句话包括了四点含义:

  • ⼦类可以实现⽗类的抽象⽅法,但不能覆盖⽗类的⾮抽象⽅法。
  • ⼦类可以增加⾃⼰特有的⽅法。
  • 当⼦类的⽅法重载⽗类的⽅法时,⽅法的前置条件(即⽅法的输⼊参数)要⽐⽗类的⽅法更宽松。
  • 当⼦类的⽅法实现⽗类的⽅法(重写、重载或实现抽象⽅法)时,⽅法的后置条件(即⽅法的输出或返回值)要⽐⽗类的的⽅法更严格或与⽗类的⽅法相等。

⾥⽒替换原则的作⽤

  • ⾥⽒替换原则是实现开闭原则的重要⽅式之⼀。

  • 解决了继承中重写⽗类造成的可复⽤性变差的问题。

  • 是动作正确性的保证,即类的扩展不会给已有的系统引⼊新的错误,降低了代码出错的可能性。

  • 加强程序的健壮性,同时变更时可以做到⾮常好的兼容性,提⾼程序的维护性、可扩展性,降低需求变更时引⼊的⻛险。

⾥⽒替换原则的⽬的是使⽤约定的⽅式,让使⽤继承后的代码具备良好的扩展性和兼容性。
如果使⽤了继承,就⼀定要遵从⾥⽒替换原则,否则会让代码出现问题的概率变得更⼤。

迪⽶特法则

迪⽶特法则(Law of Demeter,LoD)⼜称为最少知道原则(Least Knowledge Principle,LKP),是指⼀个对象类对于其他对象类来说,知道得越少越好。也就是说,两个类之间不要有过多的耦合关系,保持最少关联性。

接⼝隔离原则

⼀个类对另⼀个类的依赖应该建⽴在最⼩的接⼝上

接⼝隔离原则(Interface Segregation Principle,ISP)要求程序员尽量将臃肿庞⼤的接⼝拆分成更⼩的和更具体的接⼝,让接⼝中只包含客户感兴趣的⽅法

依赖倒置原则

依赖倒置原则(Dependence Inversion Principle,DIP)是指在设计代码架构时,⾼层模块不应该依赖于底层模块,⼆者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

DIP就是我们常说的“⾯向接⼝编程”。

标签:原则,白话,笔记,开闭,抽象,Principle,设计模式,替换
From: https://www.cnblogs.com/JamKing/p/16707439.html

相关文章