0

我有一个 3D 动画,我想输出到不同的文件格式,例如 .BVH、.FBX...

适合实现这种功能的设计模式是什么?

工厂设计模式会起作用吗?为什么和为什么不。

谢谢

4

4 回答 4

3

它既不是建造者也不是工厂。它看起来像Strategy 模式

于 2012-05-18T16:04:02.987 回答
3

我认为重要的是设计而不是图案名称。我认为您需要的是一种适配器:

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 方法和东西。

于 2012-05-18T05:09:13.090 回答
2

在这种情况下,您应该考虑Builder&Factory模式。

于 2012-05-18T05:05:58.850 回答
0

我会使用观察者模式。假设您有可观察的 A 类和观察者类 C 和 D。单击 A 上的 SAVE、引发和事件以通知 B、C、......任何更多的观察者执行 SAVE 操作。

http://www.dofactory.com/Patterns/PatternObserver.aspx

于 2012-05-18T15:58:59.523 回答