使用更改属性建模对象

时间:2012-07-22 16:21:41

标签: ruby oop database-design entity-relationship

我正在尝试在Ruby中创建一个简单的程序来跟踪股票的价格变动,但我并不完全确定它应该如何设计。

基本上,我正在考虑一个类库存,具有所有属性,如name,desc等。但是,我不确定price属性如何工作。因为对于每个股票,我还想跟踪价格的历史并在图表上绘制它们。所以,我的问题是,我应该创建另一个类,价格并将其与Stock相关联吗?还是有更好的方法?

我是OOD的新手,非常喜欢一些解释,有用的链接或其他建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

其中一些取决于您选择的DB:OO,文档或关系。如果您使用的是典型的关系数据库,那么您将拥有一个代表价格与股票之间一对多关系的价格表。

好像你应该有一个单独的价格类,因为我假设你想跟踪价格随着时间的推移。我知道这不是Ruby,但你的Stock类看起来像这样:

public class Stock
{
  public int Id { get; set; }
  public string Name { get; set; }
  public string Description { get; set; }
  public List<Price> PriceHistory { get; set; }
}

然后是Price:

public class Price
{
  public int StockId { get; set; }
  public DateTime PriceDate { get; set; }
  public decimal Price { get; set; }
}

注意:您需要忽略ID是公共的这一事实,因此可以通过外部类进行更改。但是,为简单起见,此代码以这种方式呈现。

希望有所帮助。