【发布时间】:2013-04-18 21:58:07
【问题描述】:
我的场景是这样的:
当您按消息类型向不同目的地发送消息时,我有一个消息系统。
这是我目前的设计:
Abstract class: MessageKindAbs
MessageKind1 extends MessageKindAbs
MessageKind2 extends MessageKindAbs
MessageKind3 extends MessageKindAbs
等等..
现在MessageKind3 是一种特殊的类型。其目的是将MessageKind1 或MessageKind2 的内容发送到日志进程。
所以我在MessageKind3 内部创建了MessageKind3Items 的列表:
list<MessageKind3Item> MessageKind3ItemList...
MessageKind3Item 包含MessageKind1/MessageKind2 的信息用于记录目的。
所以基本上发生的情况是每个MessageKind3Item 还包括MessageKindAbs 类型。
但这对我来说毫无意义。
例如:向DB队列发送消息,记录MessageKind1持有和MessageKind2持有的信息。
所以我的 OOP 设计有点复杂。
谁能帮我找到这里的路?
我本可以在 MessageKind3Item 内部创建另一个 MessageKindAbs 的实例类型,但我不确定它是否有意义。
谢谢, 雷,
【问题讨论】:
标签: java oop design-patterns architecture