在F#中实施跨领域问题

时间:2016-01-08 12:28:16

标签: f#

利用面向铁路的编程技术来解决F#应用的交叉问题是否有意义?

例如,我正准备下一个需要登录的kata。当我试图思考功能时,我不禁想知道Railway-Oriented Programming中使用的模式是否也可用于记录函数调用。

我不想要的是我的功能中的副作用,这些副作用是管理横切关注点(即日志记录,安全性等)的结果。

是否有可用于在F#中实现日志记录行为的指南?

可以考虑面向方面的编程吗?

1 个答案:

答案 0 :(得分:1)

  

利用面向铁路的编程技术是否有意义   对于F#应用程序的跨领域问题?

“铁路导向编程”这个术语是我以前没有听说过的,但是Computation ExpressionsContinuation-passing style。由于这是一个如此广泛的问题,答案是它所依赖的典型问题。我给了你接触点,所以你必须打电话。

  

可以利用铁路导向编程(思考计算表达式)来记录函数调用吗?   是否有任何指导可用于在F#中实现日志记录行为?

不确定。请参阅:Computation expressions: Introduction,它提供了一个日志示例。

  

可以考虑面向方面的编程吗?

我从来没有使用过AOP,所以请耐心等待,但这是我认为可靠来源的答案:

来自AOP with F#

  

一般来说,我觉得AOP不像函数式编程那样适合面向对象编程,但仍然有一些使用案例,其中AOP可能是有益的。

这又是一个如此广泛的问题,答案是它所依赖的典型问题。

作为一个人new to F#我建议您专注于让代码首先运行。你正在满足太多的要求,这些要求会妨碍你。当我开始学习F#时,我也读得太多,尝试了太多的东西,我收到的一些最好的建议就是因为我可以不使用某些东西。