我的问题域中有一个模型类和一个抽象的 Item 类。 Model对象包含 Item 对象的列表。每个Item对象都有三个要执行的任务:
由于某些原因,我想将这三个工作分为三个单独的类,而不是将它们全部放在 Item 子类中,并且每个 Item 子类都有所不同实施这三项工作。
下面的链接是我当前设计的UML类图。随着Item子类的增长,会有更多 ItemXXXHandler_X 。似乎应该有更好的设计。
答案 0 :(得分:0)
是的,Bridge pattern可以在这里应用。看起来你有足够的复杂性,可以独立发展。仍然在你当前的设计中,你必须引入一些抽象来实现这一切。我看到Separation of concerns是您的主要目标,但您可以应用其他原则。 Inversion of control将非常适合您的模型,因为Bridge实际上强制执行它。另一位候选人可能是separated Interface:
在某种程度上,你可以瞄准plugin architecture,这可能是这样的: