使用文件夹在一个 F# 项目中隔离模块 - 这可能吗?
Isolate modules within one F# project using folders - is it possible?
我喜欢 F# 要求按依赖顺序组织文件和代码的方式,因为它不鼓励无意识的耦合。
我有 atm 源文件的平面列表(简体):
Common.fs
Workflow1.fs
Workflow2.fs
并想更进一步。首先,像这样组织文件(VS 2017 不能上下移动文件夹,需要编辑 .fsproj 但这是不同的故事 - 至少它是可能的):
Common.fs
Workflow1\Impl1.fs
Workflow2\Impl2.fs
我希望Impl1.fs和Impl2.fs完全隔离,因为它们的文件夹没有parent/child关系,但是Impl2.fs可以很容易地看到类型和功能来自 Impl1.fs:只需打开模块即可使用
有什么技术可以让他们隔离吗?可以将项目一分为三,但我更喜欢将 DLL 保留为一个部署单元:工作流程很小,理想情况下我想避免有很多小的 DLL 文件。
我喜欢 F# 要求按依赖顺序组织文件和代码的方式,因为它不鼓励无意识的耦合。
我有 atm 源文件的平面列表(简体):
Common.fs
Workflow1.fs
Workflow2.fs
并想更进一步。首先,像这样组织文件(VS 2017 不能上下移动文件夹,需要编辑 .fsproj 但这是不同的故事 - 至少它是可能的):
Common.fs
Workflow1\Impl1.fs
Workflow2\Impl2.fs
我希望Impl1.fs和Impl2.fs完全隔离,因为它们的文件夹没有parent/child关系,但是Impl2.fs可以很容易地看到类型和功能来自 Impl1.fs:只需打开模块即可使用
有什么技术可以让他们隔离吗?可以将项目一分为三,但我更喜欢将 DLL 保留为一个部署单元:工作流程很小,理想情况下我想避免有很多小的 DLL 文件。