在 F# 中的域模型中使用可能为空的列表时是否有最佳实践?例如,在一个待办事项应用程序中,一个任务可能有 0 到 N 个子任务。哪种建模方式是首选?
type Task :
{ Name : string
SubTasks : Task list option }
Run Code Online (Sandbox Code Playgroud)
或者
type Task :
{ Name : string
SubTasks : Task list } //potentially empty
Run Code Online (Sandbox Code Playgroud)
我是一个初学者,但在我看来,业务逻辑可以与任何一种实现一起使用。我会通过检查选项类型或检查长度 = 0 的列表长度来验证没有子任务。
如果我们将 的值添加ParentTask : Task option到任务记录类型中,也许最好也将子任务列表作为一个选项?
谢谢!
f# ×1