本章探讨了面向对象编程(OOP)中的两个经典模式 —— 适配器模式和装饰器模式。这些模式是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 所著《设计模式 —— 可复用面向对象软件的基础》一书中提出的二十三个原始设计模式中的两个。作为一种面向对象的语言,C++ 能够像其他语言一样利用这些模式。但与往常一样,泛型编程为这些经典模式带来了某些优势、变体以及新的挑战。
本章涵盖以下主题:
什么是适配器和装饰器模式?
两者之间有什么区别?
这些模式可以解决哪些设计问题?
这些模式在 C++ 中如何使用?
泛型编程如何帮助设计适配器和装饰器?
其他不同的模式是否可以为类似问题提供替代解决方案?