大型企业功能性F#开发中常用的架构模型是什么?

dom*_*mer 3 architecture f# functional-programming

我一直在脚本(数据科学工作)中使用F#并开发用于C#的类库.在后一种情况下,我一直在创建具有纯功能代码的模块.

如果我想开始完全用F#开发大型应用程序,我不确定如何构建它.我发现开发的功能风格非常直观,但是它可以扩展到大型企业应用程序吗?例如,使用OO结构然后使用功能代码充实对象更常见吗?

直观地说,感觉就像编写许多函数而没有某种类结构可能会变得笨拙.但我完全愿意接受这可能只是因为在OO项目上工作多年来"洗脑".

据推测,必须有完全可用的Haskell企业应用程序,所以在F#中也许如此.或者在功能上做所有事情都很麻烦,所以F#devs混合搭配.我不知道.

任何人都可以指出我讨论如何将功能范例扩展到大型企业应用程序开发的文章吗?

Tom*_*cek 8

我对这个问题没有完整的答案,但我认为你可以从F#的一些大型社区项目中学到很多东西.它们可能不是大型企业软件,但如果计算它们使用的所有F#依赖项,它们就相当大.

我认为精心设计的功能库可以是非常可组合的,这种方法对社区来说非常有效.

所有这些都集中在组件(库)上而不是完整的应用程序,但我认为完整的应用程序很可能只是将多个可组合组件组合在一起的薄层.

  • @WilliamBarbosa:[Tachyus方法](https://news.ycombinator.com/item?id=8545278)是在纯F#上成功构建企业的一个例子.另一个是[Jet.com](http://jet.com),其中大型电子商务系统的后端几乎100%F#实现. (4认同)