1
我有两种类型的对象:TActionInfo和TActionStats。第一个描述行动的特点,第二个可以“吃”第一个,并根据许多行动维护一些统计数据。从protobuf继承C++类
在我的任务中使用protobuf非常方便,因为这些对象经常被序列化和反序列化。
这似乎是TActionStats应该有一个像
bool AddAction(const TActionInfo& action);
是它从谷歌-protobuf的TActionStats类继承一个类是一个好主意的方法是一个好主意? 一般继承protobuf的smth是个好主意吗?
我宁愿实习protobuf类成员变量而不是继承它们。在(甚至更多)一般情况下,恕我直言,尽可能避免继承是个好主意。这很少见,我可以回答这个问题_“是?”_是的。 –
设计有时是一种品味的问题。无论如何,我尽量避免类名如'... Info','... Stats'或'... Data'。当我想要创建这样一个班级时,我会问自己:为什么* real *类(比如'TAction')不包含它的信息和统计信息?如果我真的只想要一些只保留有关另一个类实例的信息的类,我该如何避免混合抽象层?看,你有一个'AddAction'方法,但你真正添加的是动作信息。图层混合。这不是你想在这里添加的动作吗?另请考虑[this](http://en.wikipedia.org/wiki/Dependency_inversion_principle)。 – TobiMcNamobi