我的应用程序中有对象可能附加了任意数量的“组件”:
public class Test() {
public Test() {
AddComponent<AComponent>();
AddComponent<CComponent>();
AddComponent<ZComponent>();
}
}
在我的保存系统中,Test
对象被写入磁盘,但这意味着我还需要保存组件。我已经这样做了,但我的代码不够动态,不能满足我的需求。
目前,我写了一个关于每个组件是否存在的bool,如果bool是真的(在读取时),我知道加载所述组件。
但是,我们也会支持用户插件,为每个可能的组件编写bool会有问题。如果添加或删除组件会怎样?突然计数不匹配等等。
我正在考虑编写类名,因此对于编写的每个组件,我都可以读取其名称BComponent
等。使用它我可以确保该类存在,动态实例化它等。
这是可接受的解决方案吗?是否有更好的解决方案,或者我没有意识到的问题?