Bridge Pattern

概念

桥接模式,待补充

Pimpl Pattern

概念

Pointer to Implementation,即在 handle class 内通过一个私有的成员指针变量,将指针所指向的 implementation class 的内部成员进行隐藏

优点

  • 降低模块间耦合
    • 对 handle class 隐藏了 implementation class 的实现,修改后者的成员不需要重新编译前者
  • 提高编译速度
  • 类的接口与实现分离
    • 提高接口稳定性

使用

通常是在 handle class 头文件中声明私有的 implementation class 类型与其指针,cpp 文件中定义其实现,代码可见参考部分提供的示例

注意事项

  • 编译器仅检查 handle class 的 const 方法中的 pimpl 指针是否被修改,而不会检查 (普通) pimpl 指针指向实例的任何成员是否被修改
  • 禁止拷贝或者执行深拷贝

参考

编译防火墙——C++的Pimpl惯用法解析

posted on 2020-09-05 20:58  chenguang9239  阅读(132)  评论(0编辑  收藏  举报