Puppet 使用最小的init.pp类来定义模块的作用域是否是一种约定?

Puppet 使用最小的init.pp类来定义模块的作用域是否是一种约定?,puppet,Puppet,我遇到了以下约定,init.pp尽可能小,对于modules/java8/init.pp import "*" class java8 { include java8::java8 } 然后一个modules/java8/java8.pp定义了实际的规则/实现: class java8::java8 { # ... } 这是一个惯例吗?它是一个旧的惯例吗?这背后的理性是什么?我不熟悉这种风格,因为它没有任何广泛使用的惯例,我认为它的价值有限。具体来说,它似乎是代码组织兴趣和使用

我遇到了以下约定,
init.pp
尽可能小,对于
modules/java8/init.pp

import "*"

class java8 {
    include java8::java8
}
然后一个
modules/java8/java8.pp
定义了实际的规则/实现:

class java8::java8 {
  # ...
}

这是一个惯例吗?它是一个旧的惯例吗?这背后的理性是什么?

我不熟悉这种风格,因为它没有任何广泛使用的惯例,我认为它的价值有限。具体来说,它似乎是代码组织兴趣和使用兴趣之间的折衷:它允许在以其命名的清单文件中定义每个结果类(包括
modules/java8/manifests/java8.pp
中的委托主类
java8::java8
),同时为模块提供一个带有一段限定名(
java8
)的主类,这样用户就可以

include 'java8'

我认为现在通过将细节委托给模块内的其他私有类来保持主类的小型化是相当普遍的,但我认为仅仅为了命名目的而委托给另一个类没有多大价值。我还认为,在同一个模块中使用相同的非限定名称(
java8
)的不同类可能会造成混淆。

read@iamauser我在该链接中没有看到任何解决此问题的内容