我正在编写一个Core java模块,其中有一些事件被读取,然后那些读取事件需要组织成某种形式
我认为OOPS设计类似这样的东西
EventManager有两个对象,EventReader和EventScheduler
EventReader从文本输入文件中读取数据,并返回一个Event类型的对象数组。
EventScheduler将Event数组对象作为输入接收并处理它们(包括根据其说服对数组进行排序,然后根据某些条件将它们排列为使用(KnapSackProblem))。
在EventScheduler中,我保留了按照所需输出排序然后排列事件的方法。
因此,这种设计是高凝聚力和松散耦合......至少是暴露的......因为我不能在网站上分享整个图表。
我需要一个好的设计,想知道这个场景的正确设计是什么。
如果您需要更多关于此方面的设计信息,请告诉我更多信息。
请注意,我实际上并非旨在提高性能,而只是针对这种情况的非常简洁的设计理念。
欢迎任何帮助!
先谢谢:) 干杯
答案 0 :(得分:0)
这只是解决分布式编程的生产者/消费者问题的另一个例子。
我在想是否可以按顺序解决您的事件阅读和处理,但后来我意识到您的文本输入可能会随着时间流逝而改变。这意味着您还需要读取新输入。
在这里你需要弄清楚EventReader和EventScheduler是不同的处理器。读者需要阅读和准备活动。调度程序需要获取事件并安排它进行处理。是的应该松散耦合。