C++常用设计模式
本文介绍了C++设计模式的六大原则,包括单一职责、里氏替换、依赖倒置、接口隔离、迪米特法则和开放封闭原则,并对常用的设计模式进行分类讲解。
编码架构相关文章
查看所有标签本文介绍了C++设计模式的六大原则,包括单一职责、里氏替换、依赖倒置、接口隔离、迪米特法则和开放封闭原则,并对常用的设计模式进行分类讲解。
SOLID是五条原则的英文首字母拼接,这五条原则指的是:
SRP:单一职责原则
一个软件系统的最佳结构高度依赖于开发这个系统的组织的内部结构。这样,每个软件模块都有且只有一个需要被改变的理由。
OCP:开闭原则
核心要素是:如果软件系统想要更容易被改变,那么其设计就必须允许新增代码来修改系统行为,而非只能靠修改原来的代码。
LSP:里氏替换原则
如果想用可替换的组件来构建软件系统,那么这些组件就必须遵守同一个约定,以便让这些组件可以相互替换。
ISP:接口隔离原则
这项设计原则主要告诫软件设计师应该在设计中避免不必要的依赖。
DIP:依赖反转原则
该设计原则指出高层策略性的代码不应该依赖实现底层细节的代码,恰恰相反,那些实现底层细节的代码应该依赖高层策略性的代码。
SOLID原则的主要作用就是告诉我们如何将数据和函数组织成为类,以及如何将这些类链接起来成为程序。下面会分别介绍这五条设计的原则,以及给出相应的代码示例。
一般情况下,当我们在堆上申请内存和释放内存,我们需要显式调用new和delete。智能指针是自动化该过程的一种方式。智能指针意味着当你调用new时(甚至不用显式调用new),你不必调用delete。智能指针本质上是一个真正原始指针的包装器。当你创建一个智能指针时,它会调用new并为你分配内存。然后根据您使用的智能指针,内存将在某个时候自动释放。
C++中的左值引用(lvalue reference)和右值引用(rvalue reference),以及移动语义(move semantics),都是为了提高程序性能和效率而设计的语言特性。本文会介绍左值引用和右值引用的使用形式,以及基于右值引用的移动语义的使用样例。
本文的总结主要来自于cherno的C++系列视频,可以在bilibili观看翻译的中文版本。
评论