Itt*_*ayD 6 functional-programming scala
我看到的大多数示例(如果不是全部)都是一种执行某种计算和完成的函数.在这方面,FP闪耀.但是,我很难看到如何在企业应用程序环境的上下文中应用它,在这种情况下,没有太多的算法进行,并且有大量的数据传输和服务.
所以我想问一下如何在FP风格中实现以下问题.
我想实现一个事件总线服务.该服务具有register注册侦听器和publish发布事件的方法.
在OO设置中,这是通过使用两种方法创建EventBus接口来完成的.然后,实现可以使用列表来保存由其更新register和使用的侦听器publish.当然这种方法register有副作用.Spring可用于创建类并将其实例传递给事件的发布者或订阅者.
考虑到事件总线服务的客户端是独立的(例如,并非所有客户端都是以"测试"方法创建的),如何在FP中对此进行建模?据我所知,这否定了使寄存器返回EventBus的新实例,因为其他客户端已经拥有对旧实例的引用(例如,发布到它只会发布到它知道的侦听器)
我更喜欢在Scala中使用解决方案.