嵌套课程和良好做法

时间:2018-08-06 13:09:30

标签: java design-patterns builder

我正在考虑在班级中使用嵌套类。我有一个名为ServerConfiguration的类,并且有两个与之紧密相关的类:构建器和提供程序。

所有类都位于单独的位置:

  • hosting.core.server.ServerConfiguration
  • hosting.core.server.server_configuration.Provider
  • hosting.core.server.server_configuration.Builder

问题是我应该将它们作为嵌套(静态)类添加到ServerConfiguration还是保持原样?

ServerConfiguration类非常简单,添加两个额外的类会使它更加复杂。 另一方面,我更容易拥有代码

private ServerConfiguration.Builder getBuilder()
    {
        return new ServerConfiguration.Builder();
    }

代替

private Builder getBuilder()
    {
        return new Builder();
    }

你怎么看?

1 个答案:

答案 0 :(得分:3)

您应该继续使该类成为内部类。

根据有效的Java

  

如果只有一个类使用包私有的顶级类或接口,   考虑使顶层类成为唯一的私有静态嵌套类   使用它的类(项目24)。这降低了所有类的可访问性   在其包中使用它的一个类。但这对   减少免费公共类的访问性,而不是私有软件包中的访问性   顶级类:公共类是程序包API的一部分。