如何仅使用F#设计3层.NET企业应用程序?
我将在一个复杂的金融交易领域承担一个关键业务应用程序的主要设计。不公开讨论的技术是:如何仅使用F#设计3层.NET企业应用程序?,.net,f#,functional-programming,.net,F#,Functional Programming,我将在一个复杂的金融交易领域承担一个关键业务应用程序的主要设计。不公开讨论的技术是: 仅MS技术堆栈(例如NET4.5、信号器、WCF) SQL Server作为数据库 WPF桌面客户端(尽管web客户端可能会在以后添加) F作为编程语言(C是可能的,但前提是F不适合) 我想使用一个标准的三层体系结构,中间层的大部分代码用于业务规则、逻辑、模型等。UI代码应该仅仅是丰富用户体验,或者可能是对用户输入的一些简单语法验证。 有没有人有使用F#构建三层企业应用程序的经验 F#的典型MS架构蓝图有多
- 仅MS技术堆栈(例如NET4.5、信号器、WCF)
- SQL Server作为数据库
- WPF桌面客户端(尽管web客户端可能会在以后添加)
- F作为编程语言(C是可能的,但前提是F不适合)
我想使用一个标准的三层体系结构,中间层的大部分代码用于业务规则、逻辑、模型等。UI代码应该仅仅是丰富用户体验,或者可能是对用户输入的一些简单语法验证。 有没有人有使用F#构建三层企业应用程序的经验
F#的典型MS架构蓝图有多适用仅供参考:之所以选择F#,是因为此前成功使用Haskell对复杂领域进行建模。除了函数式语言的广泛优势之外。我认为这个问题太广泛了,但是你可以在 你可以从“指南”-“企业编程”一节开始,在那里你可以找到关于F#Enterprise app architecture的建议。另请参见在何处可以找到类型提供程序和其他有用的库
您当然可以在3层中的任何一层使用F#,但它也可以很好地与其他.NET语言配合使用。例如,对于wpfui层,您可以使用基于C的XAML视图和F#ViewModel,我认为这个问题太宽泛了,但您可以在 你可以从“指南”-“企业编程”一节开始,在那里你可以找到关于F#Enterprise app architecture的建议。另请参见在何处可以找到类型提供程序和其他有用的库
您当然可以在3层中的任何一层使用F#,但它也可以很好地与其他.NET语言配合使用。例如,对于WPF UI层,您可以使用基于C的XAML视图和F#ViewModel,您不应该有太多问题 有几种技术可用于访问SQL,从ADO.NET、Entity Framework或Dapper等常用选项到围绕和的SQL类型提供程序 从WPF的角度来看,您有两种选择——第一种选择是标准的WPF XAML方法,它将强制您对后面的代码使用C#/VB.NET项目,然后在F#中查看模型(以及下面的所有内容)。或者,您可以使用其中一个XAML类型提供程序,例如,它允许您在F#中拥有所有内容 对于使用WCF、OData和XML等数据,有一组丰富的类型提供程序,与C#和VB.NET中的标准代码生成方法相比,它们的痛苦要小得多
别忘了测试框架——你可以使用常用的框架,如NUnit和XUnit,以及围绕它们的一组包装器,如FSUnit和Unquote,它们会给你更多的功能。你不应该有太多问题 有几种技术可用于访问SQL,从ADO.NET、Entity Framework或Dapper等常用选项到围绕和的SQL类型提供程序 从WPF的角度来看,您有两种选择——第一种选择是标准的WPF XAML方法,它将强制您对后面的代码使用C#/VB.NET项目,然后在F#中查看模型(以及下面的所有内容)。或者,您可以使用其中一个XAML类型提供程序,例如,它允许您在F#中拥有所有内容 对于使用WCF、OData和XML等数据,有一组丰富的类型提供程序,与C#和VB.NET中的标准代码生成方法相比,它们的痛苦要小得多 别忘了测试框架——你可以使用常见的框架,如NUnit和XUnit,以及围绕它们的一组包装器,如FSUnit和Unquote,它们给了你更多的功能。我知道F#在列出的每一种技术中,以及在每一个业务领域(逻辑、规则和模型)中都得到了成功的使用。我建议您能够根据Haskell的经验判断功能优势和考虑因素 你可以看到一些推荐信。正如你所理解的,一些真正有趣的F#用法(建模等)背后的人不允许公开说他们甚至使用了F#,更不用说他们使用F#的目的了。这条规则有一些例外,偶尔你会看到一份白皮书。尝试进入用户组会议 具体来说,您希望在F#中实现哪些模型?只是开玩笑。我不希望得到答案;-)有点像这样 不过,这并不是深入研究体系结构的好地方。我知道F#在列出的每一种技术以及每一个业务领域(逻辑、规则和模型)中都得到了成功的应用。我建议您能够根据Haskell的经验判断功能优势和考虑因素 你可以看到一些推荐信。正如你所理解的,一些真正有趣的F#用法(建模等)背后的人不允许公开说他们甚至使用了F#,更不用说他们使用F#的目的了。这条规则有一些例外,偶尔你会看到一份白皮书。尝试进入用户组会议 具体来说,您希望在F#中实现哪些模型?只是开玩笑。我不希望得到答案;-)有点像这样
因此,这并不是深入研究建筑的好地方。看看。它应该可以让你创建一个优雅的数据层。你可能想看看前三名:,和。类型提供程序绝对是一个很大的优势。马克,我会检查你的课程。看看。它应该允许您创建一个优雅的数据层。您可能想看看顶部