具有代理设计模式的预处理器

时间:2011-05-05 20:23:01

标签: c++ design-patterns c-preprocessor proxy-pattern

在代理部分,四人帮的设计模式说:

  

重载成员访问运算符对于每种代理都不是一个好的解决方案。一些代理   需要准确知道调用哪个操作,并重载成员访问操作符   在这些情况下不起作用。

     

[...]

     

在这种情况下,我们必须手动   实现将请求转发给主题的每个代理操作。

     

[...]

     

典型地   所有操作在转发之前验证请求是否合法,原始对象是否存在等   对主题的要求。一次又一次地编写这段代码是很繁琐的。因此,使用预处理器自动生成它是很常见的。

好的,哪个预处理器以及如何在C ++中使用?

2 个答案:

答案 0 :(得分:0)

在C ++中实现某些设计模式的规范参考是

  

现代C ++设计   作者:Alexandrescu

使用C ++类型系统构建设计模式的技术的另一个很好的参考是

上的书
  

C ++模板   由Vandevoorde&约祖蒂斯

模板元编程的 参考是

  

C ++模板元编程:Boost及其后的概念,工具和技术   作者:David Abrahams和Alesky Gurtovoy。

答案 1 :(得分:0)

我认为它们意味着围绕主题类自动生成包装器代码。一个例子是SWIG项目生成的包装器代码。