设计模式 - 调度员

时间:2011-06-08 06:26:47

标签: java design-patterns architecture

我有一个类似以下的用例:

假设我有一个enumType Foo(可能的值为A,B,C)。 假设我有

Class Bar{
 List<Foo> foos; // list of Foo objects where each object can have 1 of 3 possible values
 long id;
 String name;
 String num;
 ...
}

我的客户会在Dispatcher类中调用一个方法“dispatch”,它接收“Bar”。

现在对于每个(Foo foo:foos),它将实际的调度委托给特定的类型(即我想要一个单独的A,B和C类消息处理程序)。

其次,必须为A,B和C创建必须分派的消息。根据foo的值,我们从模板中选取消息并插入从Bar获得的“name”,“num” )。

我正在寻找这种设计的具体模式吗?我该如何设计这样一个系统。我希望对现有模式或最佳实践进行讨论或指点。

1 个答案:

答案 0 :(得分:0)

使用多态。

enum Foo {
    VALUE1 {
        @Override public void someMethod() {...}
    },
    VALUE2 {
        @Override public void someMethod() {...}
    },
    VALUE 3 {
        @Override public void someMethod() {...}
    };

    public abstract void someMethod();

}
相关问题