您认为使用F#实现业务逻辑层是一个好主意吗?我打算使用Entity Framework作为“数据映射器”,并使用C#实现UI逻辑。
欢迎任何想法。我会非常感激任何帮助!
谢谢。
P.S.这有什么目的?我是F#的新手,想试验一下这种语言(技术)。我必须实现一个相对较小的项目,获得F#经验可能是个不错的选择。
您认为使用F#实现业务逻辑层是一个好主意吗?我打算使用Entity Framework作为“数据映射器”,并使用C#实现UI逻辑。
欢迎任何想法。我会非常感激任何帮助!
谢谢。
P.S.这有什么目的?我是F#的新手,想试验一下这种语言(技术)。我必须实现一个相对较小的项目,获得F#经验可能是个不错的选择。
C#数据访问层,简单地使用Entity Framework并公开重要数据(使用IEnumerable
类型,可以轻松从F#中消耗)。
F#业务层使用数据执行“实际处理”,并公开可以从C#使用的几种类型。如果您声明一个F#类,它将像任何普通的.NET类一样编译,因此您可以轻松地从C#中使用它。您只需要注意不要在公共接口中使用F#特定的功能。一些建议是使用委托(而不是函数),类类型和IEnumerable
(在F#中称为seq
)而不是函数列表。
C#用户界面层调用在F#中声明的类型。如果您遵循上述简单规则,则C#代码可以轻松调用F#类型。
我只能代表自己说,但是在克服最初的F#学习曲线之后,我发现:
1) 我的F#代码比C#或C++更加简洁。
2) F#更易于维护。
3) 我能够更清晰地想象出解决问题的方案。
4) 我在F#中设计的模式更容易在新程序中重复使用。
因此,我将在许多未来的编码任务中考虑F#,包括BLL。
-Neil
你完全可以这样做。
我建议将UI逻辑保留在C#中,因为VS对F# UI设计的支持还不是非常好。
IQueryable
,您不会失去任何东西,所以这可能是个好主意。 - Tomas Petricek