小编pla*_*ist的帖子

FSharp.Data:使用没有数据库的SqlDataProvider

我正在使用FSharp.Data SqlDataProvider(类型提供程序)来访问我的数据.尽管这是将数据转换为F#类型的非常好的方法,但显然需要在我想编译代码的每个开发环境中都有一个具有正确模式的数据库.

是否有任何技巧可以在编译期间不要求使用正确的模式安装数据库?像静态模式文件或条件编译?(通常,应用程序可以在不安装数据库的情况下执行)

f# type-providers f#-data

6
推荐指数
1
解决办法
80
查看次数

复制递归F#记录类型

假设你有以下递归记录类型

type Parent = {
    Name : string
    Age : int
    Children : Child list }
and Child = {
    Name : string
    Parent : Parent option }
Run Code Online (Sandbox Code Playgroud)

我可以轻松地创建实例

module Builder = 
    let create name kids =
        let rec makeChild kid = { kid with Parent = parent |> Some }
        and parent = 
            {
                Name = name
                Age = 42
                Children = children
            }
        and children = kids |> List.map makeChild

        parent

    let createChild name =
        { Child.Name = …
Run Code Online (Sandbox Code Playgroud)

recursion f# record

5
推荐指数
1
解决办法
196
查看次数

干净架构中从网关到框架的依赖性

让我们想象一下,我想基于Uncle Bobs Clean Architecture实现一个ASP.NET应用程序。据我了解:

  • Asp.Net本身将在框架圈内
  • Asp.Net控制器将位于网关/接口适配器层中
  • 我的业务逻辑将在用例/实体层中

依赖性规则说,仅允许从外圈到内圈的依赖性。

据我了解,依赖性规则不仅与控制流有关,而且还与代码级依赖性有关。

但是:为了使“网关”圈子中有一个Asp.Net控制器,必须从Asp.Net Controller类派生。

问题:这不会违反依赖性规则,因为这会导致从“网关”圈子到“框架”圈子的编译时依赖性吗?

更新:我在最近的博客文章https://plainionist.github.io/Implementing-Clean-Architecture-AspNet/中更详细地讨论了这个问题

clean-architecture

2
推荐指数
1
解决办法
368
查看次数