使用Java设计读取器和处理器

时间:2015-10-03 12:21:09

标签: java oop design-patterns

我正在编写一个Core java模块,其中有一些事件被读取,然后那些读取事件需要组织成某种形式

我认为OOPS设计类似这样的东西

EventManager有两个对象,EventReader和EventScheduler

EventReader从文本输入文件中读取数据,并返回一个Event类型的对象数组。

EventScheduler将Event数组对象作为输入接收并处理它们(包括根据其说服对数组进行排序,然后根据某些条件将它们排列为使用(KnapSackProblem))。

在EventScheduler中,我保留了按照所需输出排序然后排列事件的方法。

因此,这种设计是高凝聚力和松散耦合......至少是暴露的......因为我不能在网站上分享整个图表。

我需要一个好的设计,想知道这个场景的正确设计是什么。

如果您需要更多关于此方面的设计信息,请告诉我更多信息。

请注意,我实际上并非旨在提高性能,而只是针对这种情况的非常简洁的设计理念。

欢迎任何帮助!

先谢谢:) 干杯

1 个答案:

答案 0 :(得分:0)

这只是解决分布式编程的生产者/消费者问题的另一个例子。

我在想是否可以按顺序解决您的事件阅读和处理,但后来我意识到您的文本输入可能会随着时间流逝而改变。这意味着您还需要读取新输入。

在这里你需要弄清楚EventReader和EventScheduler是不同的处理器。读者需要阅读和准备活动。调度程序需要获取事件并安排它进行处理。是的应该松散耦合。