我有一个类似如下的用例:
假设我有一个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的值,我们从模板中提取消息并插入"name“、"num”(从Bar获得)。
这个设计有没有什么特别的设计模式?我应该如何设计这样的系统。感谢您对现有模式或最佳实践的讨论或指导。
发布于 2011-06-08 06:43:59
使用多态性。
enum Foo {
VALUE1 {
@Override public void someMethod() {...}
},
VALUE2 {
@Override public void someMethod() {...}
},
VALUE 3 {
@Override public void someMethod() {...}
};
public abstract void someMethod();
}
https://stackoverflow.com/questions/6274960
复制相似问题