我遇到了以下约定,init.pp
尽可能最小,对于 中的
java8
模块的示例如下所示模块/java8/init.pp
import "*"
class java8 {
include java8::java8
}
然后 modules/java8/java8.pp
定义实际的规则/实现:
class java8::java8 {
# ...
}
这是一个约定吗?它是一个旧的约定并且已被弃用吗?这背后的理由是什么?
最佳答案
我不熟悉这种风格作为任何广泛使用的惯例,而且我认为它的值(value)有限。具体来说,它似乎是代码组织利益和使用利益之间的折衷方案:它允许每个结果类都在以其命名的 list 文件中定义(包括委托(delegate)主类,java8::java8
,在 modules/java8/manifests/java8.pp
中),同时为模块提供一个具有单段限定名称 (java8
) 的主类,以便用户可以简单地
include 'java8'
我认为现在通过将详细信息委托(delegate)给模块内的其他私有(private)类来保持主类较小是相当常见的,但我认为完全委托(delegate)给一个并没有多大值(value)> 其他类(显然)仅用于命名目的。我还认为在同一模块中使用具有相同非限定名称 (java8
) 的不同类可能会造成困惑。
关于puppet - 是否有一个最小的 init.pp 来限制模块的类范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040099/