我有一个 3D 动画,我想输出到不同的文件格式,例如 .BVH、.FBX...
适合实现这种功能的设计模式是什么?
工厂设计模式会起作用吗?为什么和为什么不。
谢谢
我有一个 3D 动画,我想输出到不同的文件格式,例如 .BVH、.FBX...
适合实现这种功能的设计模式是什么?
工厂设计模式会起作用吗?为什么和为什么不。
谢谢
它既不是建造者也不是工厂。它看起来像Strategy 模式。
我认为重要的是设计而不是图案名称。我认为您需要的是一种适配器:
public interface IAnimationFormat {
void Save(Animation animation);
}
public class Bvh : IAnimationFormat {
public void Save(Animation animation){
...
}
}
public class Fbx : IAnimationFormat {
public void Save(Animation animation){
...
}
}
您还可以添加 Load 方法和东西。
在这种情况下,您应该考虑Builder
&Factory
模式。
我会使用观察者模式。假设您有可观察的 A 类和观察者类 C 和 D。单击 A 上的 SAVE、引发和事件以通知 B、C、......任何更多的观察者执行 SAVE 操作。