在我写作的时候Generic RPG Number 3,742,我为Items和实现了一个类Inventory.从概念上讲,它Item是一个特定的项目.我想要一种"堆叠"项目的方法,这样我Inventory每种方式只能输入1个Item.
为此,我创建了一个Item Wrapper有private Item和的Number of Items.它还有一些方法来处理所有这些的总重量Items等.
当我扩展这个问题时,麻烦来了.我发现自己想复制Item我Item Wrapper班上几乎所有的方法.另一种选择是Item public在Inventory课堂上制作和引用它,感觉同样糟糕.
这是Item Wrapper不应该存在的标志吗?这会产生重复项目Inventory或Items单数概念的问题.我觉得可能有更好的解决方案,但我似乎无法找到它.
编辑:添加更多关于当前类结构的说明.
Player_Character有一个私人Inventory.
Inventory有一个私人[mumble] Vector的Item Wrappers.
Item Wrapper有一个私人Item和私人int"how_many".
注意'有'.随着我的不断扩大Inventory,我注意到我一直在需要Item_Name或其他特定的东西Item.如果我不改变我的设计,我要么将所有Get功能复制Item到Item Wrapper或Item公开(in Item Wrapper).