我正在寻找一种设计我的应用程序的方法。假设你有一件画车的事。汽车有多个parts.Some都是可以看到的,有些是not.For的例子,电池应该画出来。所以有人会创造一个类电池。其他一些数据,如保修测试,通过等,将不会被绘制。我的问题是,我想把技术数据从要绘制的对象中分离出来。例如,电池有大量的技术规格(容量,低/最高温度等)。
例如,我从拥有所有技术数据和其他数据(如颜色等)的文件中读取数据,并将这些数据转换为对象。然后,我想把它们添加到画布上,以便绘制。然而,并不是所有的对象都需要是drawn.Problem,例如,我不想把画布特定的组件,比如渲染器,放到像电池这样的类中。
我唯一能想到的解决方案是为每个可绘制的类(如BatteryObject.However )创建另一个类,这意味着应该实例化另一个对象,删除etc将是一件痛苦的工作。还有别的办法吗?
发布于 2015-02-21 21:06:15
你的问题的答案将在很大程度上取决于你的“数据”需要“智能”的程度。
例如,如果您只想在屏幕上显示规范,可以简单地将数据提供为属性的集合,而不需要输入。例如:
var attributes = new list<KeyValuePair<string, string>>();另一方面,如果你的电池是你以后想要分析的电气系统的一部分,你的数据不仅必须是实际的数值,而且你还需要知道单位,因为电流和电压是不同的,电线的计量器具有某种相关性等等。
有些属性有约束。铅酸电池不同于锂离子电池(虽然它们都是电池),但电池类型的数量有限,因此您可能需要限制输入到已知类型的列表中。上次我检查的时候,你不能把零点模块放进车里。
如果您仍然希望将您的规范表示为电池类中的一流对象属性,则C#允许您使用自定义的属性来装饰这些属性,从而使您能够将它们识别为“产品规范”。
[Specification]
public float AmpHours { get; set; }https://softwareengineering.stackexchange.com/questions/273993
复制相似问题