Мне нравится, как F # требует упорядочивать файлы и код в порядке зависимости, потому что это препятствует бессмысленной связи.
У меня плоский список исходных файлов atm (упрощенно):
Common.fs
Workflow1.fs
Workflow2.fs
И я хочу пойти на шаг дальше.Во-первых, упорядочите файлы следующим образом (VS 2017 не может перемещать папки вверх и вниз, нужно редактировать .fsproj, но это другая история - по крайней мере, это возможно):
Common.fs
Workflow1\Impl1.fs
Workflow2\Impl2.fs
Я ожидал Impl1.fs и Impl2.fs должны быть полностью изолированы друг от друга, потому что их папки не находятся в родительских / дочерних отношениях, но Impl2.fs может легко видеть типы и функции из Impl1.fs: просто откройте модуль, и они доступны
* 1010Есть ли какие-либо методы, чтобы держать их изолированными?Можно разделить проект на три части, однако я предпочитаю сохранять DLL как единицу развертывания: рабочие процессы малы, и в идеале я бы хотел избежать множества крошечных DLL-файлов.