![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Pattern
GarryLau
这个作者很懒,什么都没留下…
展开
-
Strategy-object Behavioral
古典的Strategy模式 #pragma once #include <functional> class GameCharacter; // forward declaration class HealthCalcFunc { public: virtual int calc(const GameCharacter &gc) const; ~Heal...原创 2020-05-01 19:09:44 · 141 阅读 · 0 评论 -
API Design for C++之Pimpl设计模式
创建API的主要原因是隐藏所有的实现细节,以免将来修改API对已有客户造成影响。任何内部实现细节(那些很可能变更的部分)必须对该API的客户隐藏。主要有两种技巧可以达到此目标:物理隐藏和逻辑隐藏。 物理隐藏:不让用户获得私有源代码; 逻辑隐藏:使用语言特性限制用户访问API的某些元素。 物理隐藏 物理隐藏表示将内部实现细节(.cpp)与公共接口(.h)分离,存储在不同的文件...原创 2018-03-14 21:23:27 · 1130 阅读 · 0 评论