【发布时间】:2011-09-10 14:58:24
【问题描述】:
我有一个类似如下的用例:
假设我有一个 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” )。
我正在为这个设计寻找特定的模式吗?我应该如何设计这样的系统。希望讨论或指出现有模式或最佳实践。
【问题讨论】:
-
这很令人困惑,因为 Foo 是不透明的。 Foo的结构是什么?为什么你在那里有酒吧?是调度员吗?它们与 A、B 和 C 有什么关系? (部分混乱是所有五个名称都没有意义)。更具体地说,Dispatcher 接收到的 A、B 和 C 是不同的消息吗?还是 Dispatcher 接收到 Foo 然后决定创建 A、B 或 C,并将每个发送到单独的 Handler?
标签: java design-patterns architecture