现在,我有一个 switch 语句,用于基于字符串创建对象。有三种类型的对象扩展了抽象的通用对象。我真的应该使用工厂模式,我现在正在弄清楚。因此,我的问题是:我欣赏工厂模式的灵活性,但现在我将可能的产品存储在专用于其类型的特殊字典中。
_type1[location] = ArrayOfType1s
_type2[location] = ArrayOfType2s
_type3[location] = ArrayOfType3s
如果我只有三种类型,那就行得通,但是如果我决定使用工厂模式的灵活性添加更多类型,那么就会出现如何存储它们的问题,因为每次添加一个时我都必须制作一个特殊的字典...
我能想到的唯一答案是嵌套我的字典,这听起来很慢。
_factoryOutput[type] = type[location] = ArrayOfTypes
这可能是一个可行的解决方案,但任何人都可以建议一个更清洁的解决方案吗?我在 AS3 工作,但随时提供更通用的解决方案。