我很快就会处理一个 Java (GWT) 项目(相关问题 https://stackoverflow.com/questions/1953380/lightweight-message-bus-library)。也许我想在这里扩展一些东西,但我想知道是否有任何用Java编写的“模式匹配框架”(真的不知道是否有一个术语)? (也许是我对 Erlang 的长期接触让我的想法一直围绕着模式扭曲:-)
我将使用“消息传递”架构在 Java 组件之间进行通信,并且我希望有效地将消息“匹配”到操作。
也许我应该坚持使用本地化状态机,或者还有其他什么吗?
Updated:“消息”将是携带“仅数据”的实例对象。我目前不打算使用继承来向所述消息传达语义,而是使用简单的属性。
Update2:在录制了 SO 的集体智慧后(see here https://stackoverflow.com/questions/1955662/does-scala-run-on-gwt),看来 Scala 也超出了范围。
(注:这里是Java新手...请温柔点)
您可能正在寻找的是Java空间 http://java.sun.com/developer/technicalArticles/tools/JavaSpaces/(元组空间的 Java 实现)和基于对象属性的匹配对象(在 Java 空间世界中称为“条目”)。
空间存储具有特定属性或条目的对象(例如关联的货币、城市、用户等)。然后,您可以通过指定 0 个或多个此类条目从空间中选择对象,从而取回 0 个或多个对象。因此,它对于消息传递和生产者/消费者场景尤其有用。
因此,您可以存储具有特定属性(例如消息类型、消费者类型等)的对象(消息),并且您的消费者将根据一组 0 个或多个属性选择这些对象。请注意,这doesn't需要修改您正在存储的基础对象。你可以经营一个空间进行中(在一个 JVM 中)——它不仅仅是一种网络存储模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)