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