【发布时间】:2016-11-03 09:46:53
【问题描述】:
假设我有以下应用逻辑:
class classA
{
classA(ConfigA config)
};
class classB
{
classB(ConfigB config)
};
class App
{
void initial(Config config){
if( cond1)
new classA(config.getConfigA());
if( cond2)
new classB(config.getConfigB());
}
};
有没有好的模式来设计 Config 结构?目前我正在做的是
struct BConfig
{
int a;
int b;
};
struct ConfigA:public BConfig
{
int c;
};
struct ConfigB:public BConfig
{
int d;
};
struct Config
{
ConfigA getConfigA();
ConfigB getConfigB();
int a;
int b;
int c;
int d;
};
我想有更好的方法来做到这一点。有什么建议吗?
【问题讨论】:
-
cond1和cond2是什么?类classA和classB创建后要做什么?让他们泄漏听起来不是一个好的选择…… -
这是不完整的代码。我的意思是有一些配置分支。分支可以在 ConfigA 中继续。
-
请提供mvce。
-
@skypjack 很抱歉,但它已经是一个 mvce。这是关于如何设计顶级配置结构。
-
这是某种变异的工厂模式吗?
标签: c++ design-patterns multiple-inheritance