java - OOP 创建设计模式
问题描述
我有以下数据类型,我正在努力实现一个好的设计来为不同类型创建实例。
事件:我有不同类型的事件(EventA
等EventB
)
- 每个事件可能有子类型。例如,
EventAA
和EventAB
是 的子类型EventA
,同样EventBA
和EventBB
是 的子类型EventB
。 - 每个事件都有
source
,output
但类型不同。例如EventAA
有List<String>
作为来源,EventBB
有int
作为来源。与输出相同。
EventAA
最后,我需要EventBA
使用它们的源和输出来创建。我尝试应用抽象工厂设计模式来创建事件,定义Event
为EventSource
抽象EventOutput
类。此外,创建EventAFactory
和EventBFactory
类。虽然,我的子事件 EventAA 和 EventAB 有源和输出,但类型可能不同。因此,我无法概括该createEvent()
方法。对于每种不同类型的输入,我定义了一个createEvent(type, source, output)
方法,但感觉不对。AbstractFactory 在线设计模式的用例没有像我这样的子类型(EventAA
等),我很困惑。
解决方案
推荐阅读
- python - 有没有正确的方法可以使这段代码工作?
- go - 如何将字符串转换为结构数组
- java - 无法访问集合下的文档
- python - 在行中的特定范围内应用函数
- amazon-web-services - 如何访问 beanstalk 应用程序 venv?
- python-3.x - 无法访问包含 openpyxl 中的公式的单元格
- visual-studio-code - cmake -H 为 CMake 项目生成构建文件?
- reactjs - 我可以在前端应用程序启动(单独部署)时“唤醒”Heroku 服务器吗?
- google-chrome - 带有数字的 Chrome 控制台反斜杠
- flutter - shrinkWrap 在 ListView.builder 中做了什么?