现代C++软件架构:方法与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.7 SOLID和DRY原则

在编写代码时,有许多原则需要记住。在编写面向对象的代码时,你应该熟悉抽象、封装、继承和多态性这四个基本概念。无论是否以面向对象的编程方式编写C++代码,你都应该记住SOLID和DRY代表的原则。

SOLID是一组实践,它可以帮助你编写更简洁、更不容易出现bug的软件。SOLID是一个首字母缩写词,由它背后的五个概念各自的第一个单词的首字母组成:

❑单一责任原则(Single Responsibility Principle,SRP)。

❑开放封闭原则(Open-Closed Principle,OCP)。

❑里氏替换原则(Liskov Substitution Principle,LSP)。

❑接口隔离原则(Interface Segregation Principle,ISP)。

❑依赖倒置原则(Dependency Inversion Principle,DIP)。

我们假设你已经知道了这些原则与面向对象编程的关系,但是由于C++并不总是面向对象的,因此我们将看看如何将它们应用于不同的领域。

有些示例使用了动态多态,但这也同样适用于静态多态。如果你正在编写面向性能的代码(如果你选择了C++,则可能是这样),那么你应该知道,就性能而言使用动态多态可能不是一个好主意,特别是在热门路径上。在本书中,你将学习如何使用奇异递归模板模式(Curiously Recurring Template Pattern,CRTP)编写静态多态类。