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

Preprocessor with proxy design pattern

本文关键字:预处理 处理器 设计模式 代理      更新时间:2023-10-16

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

重载成员访问操作符并不是适用于所有类型的代理的好方法。一些代理需要精确地知道调用哪个操作,并重载成员访问操作符在这些情况下不起作用。

[…]

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

[…]

一般在转发之前,所有操作都会验证请求是否合法,原始对象是否存在等等对主体的请求。一遍又一遍地写这段代码很乏味。所以通常使用预处理器来自动生成它。

好的,哪个预处理器和如何在c++中?

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

现代c++设计由Alexandrescu

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

c++模板Vandevoorde &Josuttis

模板元编程的引用是

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

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