大型clojure项目是如何组织的?

时间:2012-06-24 19:37:17

标签: file class methods clojure namespaces

在大多数编程语言中,您经常使用“命名空间>文件>类>方法”或类似组织。怎么在clojure中完成?

2 个答案:

答案 0 :(得分:5)

大致是:

namespace > files > vars 

请注意:

  • 命名空间经常在单个文件中定义,但不一定是(您可以使用多个文件来定义命名空间)
  • vars可以包含任何内容:函数,Java对象,数据,宏等。大多数情况下,它们将是函数或顶级数据文字
  • 命名空间是动态的:可以在运行时修改它们。如果您愿意,这为您提供了以不同方式组织代码的相当大的灵活性(例如,您可以以编程方式生成和填充命名空间)

另见:

答案 1 :(得分:0)

Clojure名称空间是java包,因此大多数Clojure程序的组织方式与java程序非常相似,至少在程序包级别。

在包级别之后,我看到许多Clojure程序比Java对应程序更平坦。