使用模块和类,定义这种类关系的最佳方法是什么?

商品具有零或多个价格序列‘(聚合),并且通过选择ExcelFile对象的一部分创建价格系列对象。
( excel文件对象是已转换为类似json结构的excel工作簿)
我认为ExcelFile类应该是一个单独的类.然后我可以实例化商品(例如gold = Commodity.new("gold"))。我可以实例化一个Excel文件(例如yahoo_prices = ExcelFile.new(xlsx_file_name))。
但是现在我想使用商品命名空间之外的PriceSeries对象实例化一个ExcelFile对象(在商品对象中)。
我该怎么做?我该这么做吗?我在正确的轨道上吗?
我认为应该是这样的:
class ExcelFile
end
class Commodity
class PriceSeries
end
end这个“程序”将是一个大得多的程序中的一个特性。将所有这些类放在一个模块中,然后最终将其混合到“主”类中,这是个好主意吗?
发布于 2015-02-09 20:36:47
你走在正确的轨道上。但是,正如代码所示,图表显示的是聚合而不是内部类。所以它们不是完全一致的。我认为您应该使用图表并更改代码:
class ExcelFile
end
class Commodity
PriceSeries[] myPriceSeriesArray
end
class PriceSeries
end当然,它还有更多的功能:您必须有一种方法来创建PriceSeries实例,并将它们分配给myPriceSeriesArray数组。但这是基本的想法。
现在,您的图表中有一些内容:
*是0..*的缩写。因为您至少需要一个PriceSeries和一个ExcelFile,所以需要将它们更改为1..*。(这假设您可以拥有任意数量的任意一个,只要您至少有一个。)<<file>>原型放在ExcelFile类中。https://stackoverflow.com/questions/28417985
复制相似问题