我有一個庫存和一個倉庫模型。還有一個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