OOP创新设计模式

时间:2019-03-11 15:06:44

标签: java oop design-patterns

我具有以下数据类型,并且我正在努力实现良好的设计以为不同类型创建实例。

事件:我有不同类型的事件(EventAEventB等)

  • 每个事件可能都有子类型。例如,EventAAEventABEventA的子类型,同样EventBAEventBBEventB的子类型。
  • 每个事件都有sourceoutput,但是类型不同。例如,EventAA具有List<String>作为源,EventBB具有int作为源。输出也一样。

最后,我需要创建EventAAEventBA及其源和输出。我尝试应用Abstract Factory设计模式来创建事件,将事件EventEventSourceEventOutput定义为抽象类。另外,创建了EventAFactoryEventBFactory类。尽管我的子事件EventAA和EventAB具有源和输出,但是类型可能有所不同。因此,我无法概括createEvent()方法。对于每种不同类型的输入,我定义了一个createEvent(type, source, output)方法,但是感觉不对。在线AbstractFactory设计模式的用例没有像我这样的子类型(EventAA等),我感到困惑。

0 个答案:

没有答案