首页 > 代码库 > 学习日记之适配器模式和Effective C++
学习日记之适配器模式和Effective C++
适配器模式(Adapter):将一个类的接口转换为客户希望的另一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
(1),系统的数据和行为都正确,但接口不符时,我们应该考虑适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
(2),使用一个已经存在的类,但如果他的接口,也就是他的方法和你的要求不相同时,经营该考虑适配器模式。
(3),两个类所做的事情相同或相似,但是具有不同的接口时要使用它,客户端代码可以统一调用统一接口,可以更简单,更直接,更紧凑。
(4),在双方都不太容易修改的时候再使用适配器模式适配。
Effective C++:
1:透彻了解 inlining 的里里外外
(1),将大多数 inlining 限制在小型、被频繁调用的函数身上。这可使日后的调试过程和二级制升级(binary upgradablity)更容易,也可使潜在的代码膨胀问题最小化,使程序的速度提升机会最大化。
(2),不要只因为 function templates 出现在头文件中,就将他们声明为 inline。
2:将文件间的编译依存关系降到最低
(1),如果使用 object references 或 object pointers 可以完成任务,就不要使用 objects。
(2),如果可以,尽量使用 class 声明式替换 class 定义式。
(3),为声明式和定时式提供不同的头文件。
(4),支持“编译依存最小化”的一般构想是:相依于声明式,不要相依于定义式。基于此构想的两个手段是 Handle classes 和 Interface classes。
(5),程序库头文件应该以“完全且仅有声明式”的形式存在。这种做法不论是否涉及 templates 都适用。