有没有人知道为GoF命令模式自动创建具体命令的好方法?
(我无法在网上找到解决这个特殊“便利性”的任何内容。)
截至目前,我计划将类定义嵌套在主类中,然后使用宏(如下所示)创建100的声明和实例。 (当然,必须为每个人创建execute()的定义,但是类的声明和类的实例化是我想要以某种方式自动化或更好地简化的部分。)
#define CREATE_CONCRETE_CLASS(x) \
class x##ConcreteCmd : public AbstractCommand \
{\
public:\
\
\
void execute();\
\
};\
\
x##ConcreteCmd x##ConcreteCmdInst;
然后,上面的宏将用于在include文件中包含一系列这些宏,并包含它以创建嵌套类及其关联的实例化,如:
CREATE_CONCRETE_CLASS(cmd1)
CREATE_CONCRETE_CLASS(cmd2)
.
.
.
是否有更简洁的方法以简洁的格式创建这些具体的命令类定义,仅通过命令名来区分?