c ++中的模板方法模式和长参数列表

在对上一个问题的有用答案之后,我开始使用模板方法模式来创建具有许多不同选项的类。如果没有全部实现它们,那么我对该类对象的当前声明现在看起来像这样:
pc < prg, tc, 9, 0, 4, 4, test, true, true, true, true, false, true, true, 10, 0, -1, 3, 3 > mp;
你如何处理长模板参数列表?我应该使用枚举/定义而不是真/假和数字吗?有常用的替代品吗?     
已邀请:
是的,使用枚举(不是定义)而不是真/假。这样,如果你得到的参数不按顺序,那么编译器会抱怨。此外,它对读者来说更加清晰。 至于处理一般的长参数列表---将它们隐藏在typedef后面,或者修复一些模板参数的生成器,并让你改变其他参数。     
如果我有一个很长的模板参数列表,我宁愿重新考虑我的设计。许多参数通常表明设计不良。     
我不做c ++,这可能不适用于模板,但是我会尝试使用带有长参数列表的常规方法来查找相关参数并尝试合理地对它们进行分组并引入反映分组的参数对象,这样您就可以获得更复杂参数的更短列表。     
我会rater传递一个参数,它是变量类型的集合,例如std :: vector。     

要回复问题请先登录注册