我必须编写一些财务应用程序,我必须代表流程表.流程可以有3种类型:
我需要保留所有信息,我需要代表这些流程的时间表.本来我想用继承和创建三个类FeeFlow,FloatingFlow,FixedFlow所有继承ICashFlow并实现一些方法GetFlowType()返回一个枚举,然后我可以dynamic_cast将对象为正确的类型.
那将使我只有一个vector<IFlow>代表我的日程安排.
你怎么看待这个设计,我应该使用三个向量vector<FeeFlow>,vector<FloatingFlow>并vector<FixedFlow>避免动态转换?
为什么你真的需要动态演员?使您的流子类以多态方式实现相同的接口,然后不需要转换任何东西.
如果它们需要非常不同的输入,您可以尝试将不同的输入作为构造函数参数传递,从而清除公共接口.但是,如果您真的无法为它们定义公共接口,那么它们可能更好地实现为独立类.