"定义对象"是否有缺点?进入"工厂"变得(太)大/复杂?
在游戏引擎中,我有一个非常大的原型类3D图形对象,至少对我而言。
它包含: -
在游戏逻辑中,我缓存了一些(100?)原型散射的实例。它们中的大多数都作为字段存储在许多子系统中 我发现按值存储原型也非常方便。
答案 0 :(得分:1)
数目:
除了显而易见的直接内存/ CPU成本外,原型非常大时会出现“容易被忽视”的缺点吗?
对于一个图形对象,如果将其与副本一起放在不同的位置,则在更改对象时,必须更改锁定下的所有副本,否则会遇到不一致问题,这会增加代码复杂性和潜在的不一致问题。
确定原型(进入工厂的定义)太大/太复杂的标准是什么?什么是可以治愈它的补救措施/设计模式?
工厂模式用于创建对象。如果您发现工厂中的逻辑或代码太复杂,问题应该是您的对象结构而不是工厂模式。
原型是否应该通过句柄/指针存储在业务/游戏逻辑中? (我有这个想法,因为人们倾向于使用指针来表示大对象,但这是一个非常弱的原因。)
对于您的情况,我建议使用P-Impl模式或智能指针模式来存储相同的对象,这可以大大减少复杂数据和对象数。