我有一个库存和一个仓库模型。还有一个User和OwnedItem模型。 OwnedItem对于库存和仓库是多态的,因此仓库或库存可以拥有特定用户的拥有物品。模块或继承?
现在,仓库和库存具有一定的相似性。例如,他们以非常相似的方式处理插槽。为了说明这是我创建的库存函数:
def empty_slots_count
self.max_slots - self.owned_items.inventory.count
end
这一个返回库存的空插槽编号。这个功能对仓库来说几乎是一样的(与.inventory部分相同)。所以,现在我想知道模块是否适用于此。
尽管模块可能没问题,但它并不太自然。如果我在C++中这样做,我肯定会使用继承。我可能会有另一个类,可能会命名为SlotManager,它可以处理这个问题,而我的Inventory类会继承并使用它。
但是,Ruby不支持多重继承(只有mixins?真的不知道多少)。所以我想问一下,什么是一个好方法?当然,我愿意学习新的东西:)
哦,我不知道一个模块是一个标准的做法。有趣的是,我会做那个thanx! – Spyros 2011-04-22 19:35:18