我有一个类似以下的用例:
假设我有一个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” )。
我正在寻找这种设计的具体模式吗?我该如何设计这样一个系统。我希望对现有模式或最佳实践进行讨论或指点。
答案 0 :(得分:0)
使用多态。
enum Foo {
VALUE1 {
@Override public void someMethod() {...}
},
VALUE2 {
@Override public void someMethod() {...}
},
VALUE 3 {
@Override public void someMethod() {...}
};
public abstract void someMethod();
}