Java-类链接

问题描述 投票:-1回答:1

假定您具有使用静态定义方法的以下类。

  • kubeUtils
    • KubeUtils
    • controllers
      • ConfigMapUtils
      • DeploymentUtils
      • ...
    • objects
      • PodUtils
      • NamespaceUtils
      • ....

每个类都有一些类似的方法

public static void waitUntilServiceIsPresent(String serviceName){
  // implementation...
}

public static void waitUntilServiceDeletion(String serviceName){
  // implementation...
}

public static void waitUntilServiceIsUpdated(String serviceName){
  // implementation...
}

and so on...

因此,在用户视图中,我们需要这样称呼它:ServiceUtils.waitUntilServiceIsPresent(serviceName);

我需要语法糖的东西将使用类链接,但是我不知道我该怎么做。示例:

KubeUtils.ServiceUtils.waitUntilServiceIsPresent(serviceName)

or 

KubeUtils.getServiceUtils.waitUntilServicePresent(serviceName)

请记住,我在这些类中只有静态方法,并且我不想使用组合。我的目标是不创建对象就使用此方法。希望,我的解释很清楚。

java chaining
1个回答
1
投票

您可以通过拥有内部类来实现:

public class KubeUtils {
    public static class ServiceUtils {
        public static void waitUntilServiceIsPresent(String serviceName){

        }
    }
}

呼叫:

KubeUtils.ServiceUtils.waitUtilServiceIsPresent(...);

我会继续说,我认为这不是好习惯。我将使用包结构来构建您的实用程序类。

© www.soinside.com 2019 - 2024. All rights reserved.