设计模式将相同数据保存为不同的文件格式

时间:2012-05-18 04:51:48

标签: design-patterns factory

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

适合实现此类功能的设计模式是什么?

工厂设计模式是否有效?为什么不这样做。

由于

4 个答案:

答案 0 :(得分: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){
        ...
    }
}

您还可以添加加载方法和内容。

答案 1 :(得分:3)

它不是Builder或Factory。它看起来像Strategy pattern

答案 2 :(得分:2)

你应该考虑Builder&此上下文的Factory模式。

答案 3 :(得分:0)

我会使用观察者模式。假设您有可观察的A类和C类和D类观察者。 单击A上的SAVE,raise和event以通知B,C,......以便更多观察者执行SAVE操作。

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