我将开发一个工具来执行以下操作:
- 从远程服务器收集文件 - 每隔几分钟定期收集一次。
- 将收集的文件导出到一个文件中。
从客户端,它每 5 或 10 分钟向服务器发送一次请求。 然后服务器发送文件列表。这部分称为“集合”。 ‘收集’之后,还需要‘导出’(将‘收集’期间收集的所有文件合并。
我的想法是,上面的“收集”和“导出”操作就像“生产者”和“消费者”。那么,我可以使用'观察者'模式来实现上述 Action 吗? 如果没有,请提出任何其他设计模式。
问候, 看南DV
最佳答案
由于这两个组件自然松散耦合,您可以分别设计、实现和测试它们。我认为这里没有对其中一种已知模式的内在需求。
但是,如果您希望从 collector 接收通知,您确实可以查看 Observer 模式:
Observer. Define a one to many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
另一方面,据我所知,当 Exporter 请求时,导出不会完成,而是在固定的时间间隔内完成,因此 Exporter 可以获得 随时收集,因此您可能需要在收集器(而不是通知系统)中使用一些缓存机制。
关于java - 需要设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040827/