【发布时间】:2014-05-30 07:21:19
【问题描述】:
我想用 Scala 语言为Neo4j 数据库编写小型库。这个库将与Neo4j 数据库对话,并且主要将类映射到节点。我想让它像spray-json library: https://github.com/spray/spray-json
无论如何,我想知道一件事,在库中实现初始化代码的最佳方法是什么?
例如,在Spring Data Neo4j 中,当您使用Neo4j bean 创建应用程序上下文时,val ctx = new ClassPathXmlApplicationContext(...) 行会调用一些代码,这些代码会根据注释在Neo4j 中创建索引。
是否应该通过在构造函数/工厂方法中使用静态方法来实现这样的步骤(在Scala 中,它可能是一些伴随对象)?如果是这样,如果我不想显式调用初始化代码,我将如何进行,这意味着我第一次使用库初始化中的某些内容时会发生但它被缓存在某处 - 我正在考虑使用惰性 vals 来存储我的库所需的信息在这种情况下。
【问题讨论】:
标签: scala library-design