我具有以下数据类型,并且我正在努力实现良好的设计以为不同类型创建实例。
事件:我有不同类型的事件(EventA
,EventB
等)
EventAA
和EventAB
是EventA
的子类型,同样EventBA
和EventBB
是EventB
的子类型。 source
和output
,但是类型不同。例如,EventAA
具有List<String>
作为源,EventBB
具有int
作为源。输出也一样。最后,我需要创建EventAA
和EventBA
及其源和输出。我尝试应用Abstract Factory设计模式来创建事件,将事件Event
,EventSource
,EventOutput
定义为抽象类。另外,创建了EventAFactory
和EventBFactory
类。尽管我的子事件EventAA和EventAB具有源和输出,但是类型可能有所不同。因此,我无法概括createEvent()
方法。对于每种不同类型的输入,我定义了一个createEvent(type, source, output)
方法,但是感觉不对。在线AbstractFactory设计模式的用例没有像我这样的子类型(EventAA
等),我感到困惑。