我对.NET的Reactive Extensions越来越感兴趣。由于我的应用程序涉及数据采集系统,因此很可能甚至是我的域库的核心类和概念都可以使用Rx概念。我的图书馆应该了解Reactive Extensions吗?
我的疑问是:我应该用Rx类型和接口“污染”我的域模型吗?或者我应该保持它“干净”,仅在客户端代码中使用Rx?
一方面,清洁架构支持者(主要是Bob叔叔)主张“你不应该依赖框架”,这是有道理的。另一方面,我已经在.NET中开发了,.NET本身就是一个框架,而Rx似乎已经停滞不前。例如,David West主张系统中80%的类应该来自库,只有20%应该是手工编码的,并且是系统自身特有的。我相信这就是为什么Python也是如此成功的原因,“电池包括”的方法,图书馆的方式。
因此,务实地说,这是在你的蛋糕中使用Rx的事实上的方式:你撒上去,还是混合到面团?
有趣,但可能是自以为是的。我不会在核心库中公开暴露RX(或RX依赖类型),也许会在一个单独的库中提供一堆扩展方法,以允许用户轻松地缩小差距(以'ToObservable'可用的扩展方法'任务') –
spender
@spender感谢您的反馈。不会“在一个单独的库中提供一堆扩展方法”,这完全是Rx即将开始的事情?这就是为什么我问,看起来我没有必要依靠Rx,它似乎已被有意地作为扩展库完成了,可能呢? – heltonbiker