1.面向对象设计原则

1.对象

  1. 封装了代码和数据
  2. 提供一系列可用接口
  3. 拥有某种功能的抽象

2.设计原则

1.单一职责原则 (SRP)

一个类应该只有一个引起变化的原因,即一个类只负责一项职责。

2.开闭原则 (OCP)

软件实体(类、模块、函数等)应该对扩展是开放的,对修改是封闭的。可以通过添加新的代码来扩展系统的功能,而不是修改已有的代码。

3.里氏替换原则 ( LSP)

子类型必须能够替换其基类型而不影响程序的正确性。在使用基类的地方,能够使用其任何派生类而不产生错误。

4.依赖倒置原则 (DIP)

高层模块不应该依赖于低层模块,两者都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。

人话:高层模块是不会变化的,底层模块是会变化的,抽象是不变的,具体实现是变化的。

5.接口隔离原则 (ISP)

不应该强迫一个类去实现它不需要的接口。一个类只应该实现它需要的方法,不需要的方法应该由其他接口实现。

6.聚合复用原则 ( CARP)

首选使用组合或聚合而不是继承来实现代码复用。这有助于减少类之间的耦合性,使系统更加灵活和易于维护。

7.迪米特法则 ( LoD)

一个对象应该对其他对象有最少的了解,不与太多对象直接交互。也被称为"最少知识原则"。

3.扩展

在李建忠C++设计模式的视频课程里有一个个人感觉特别重要的原则 面向接口编程,而不是面向实现编程

猜你喜欢

转载自blog.csdn.net/yoyo_u/article/details/134772745