【发布时间】:2014-06-09 11:11:37
【问题描述】:
我有以下物品:
- 公式
- 库存
- 计数器
- 等等……
所有这些对象都称为指标并具有共同的属性(Id、Name、Value...)。 每个实体都有自己的属性:
- 公式:FormulaExpression、FormulaCode、OperandsList ...
- 库存:StockValue、StockLimit...
- 计数器:CounterIndex...
- 等等...
所以从逻辑上讲,我必须创建包含公共属性的指标类,并且我必须为每个实体创建一个继承自指标的类。
公式是一种特殊的指标,可以包含任何类型的指标。公式的指标被命名为操作数。
操作数对象具有以下属性: 操作数Id、操作数代码、操作数索引
当我想列出公式操作数时,我想获取从指标、操作数和实体类型继承的对象(例如,创建一个具有指标属性、操作数属性和股票属性的对象)
哪种设计模式或哪种架构允许我有这种行为?
解释更多问题
实体(Formula、stock、Counter..)是Indicators,而Operands、Operands 也不一定是Indicators。对象Indicator 是实体的原始类型,我们可以创建一个Indicator,然后将其修饰为Formula,然后在将其添加到另一个Formula 时将其修饰为Operand。
【问题讨论】:
-
Formula指标能否在其操作数列表中包含另一个Formula指标? -
是的,公式可以包含任何类型的指标,甚至公式类型
-
请记住,说“设计模式允许人们获得架构”是没有任何意义的。lol
-
那么您是否找到了实现所需的方法?
-
dogiordano 给出的解决方案似乎是正确的,我正在尝试通过删除泛型类型来改进它。
标签: c# oop design-patterns inheritance architecture