2012-07-22 76 views
1

我想在Ruby中创建一个简单的程序来跟踪股票的价格变动,但我不完全确定它应该如何设计。建模属性更改属性

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

我是OOD的新手,会喜欢一些解释,有用的链接或其他建议。先谢谢你。

回答

0

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

看起来你应该有一个单独的价格类,因为我假设你想跟踪价格随着时间的推移。我知道这是不是红宝石,但你的股票类可以是这个样子:

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

再降价:

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

注意:您需要忽略一个事实,即ID是公开的,因此可以被外部班级改变。然而,为了简单起见,这个代码是以这种方式呈现的

希望有所帮助。

+0

感谢您保持简单。我现在看得更清楚了,股票对象与价格有一对多的关系,因为它有不同的时间价格。顺便说一句,任何书籍的建议或资源,我可以学习对象建模?更适合网络应用程序? – maru 2012-07-23 08:45:41

+0

这两个真的帮了我:http://tinyurl.com/bl73f35和http://tinyurl.com/cqggdrj。我不知道Web应用程序的对象建模应该改变,除了在线路上使用DTO。无论部署方案如何,您的域模型仍然是您的域模型。 – 2012-07-23 12:40:52

+0

我会研究这些,谢谢! – maru 2012-07-23 13:15:41