小编bdu*_*lac的帖子

没有Provider的服务提供者接口

我正在阅读Bloch的有效java书[1]并且遇到了以下SPI示例:

//Service interface
public interface Service {
  //Service specific methods here
}

//Service provider interface
public interface Provider {
  Service newService();
}

//Class for service registration and access
public class Services {
  private Services(){}

  private static final Map<String, Provider> providers =
    new ConcurrentHashMap<String, Provider>();
  public static final String DEFAULT_PROVIDER_NAME = "<def>";

  //Registration
  public static void registerDefaultProvider(Provider p) {
    registerProvider(DEFAULT_PROVIDER_NAME, p);
  }
  public static void registerProvider(String name, Provider p) {
    providers.put(name, p);
  }

  //Access
  public static Service newInstance() { …
Run Code Online (Sandbox Code Playgroud)

java design-patterns service-provider

8
推荐指数
2
解决办法
2267
查看次数

标签 统计

design-patterns ×1

java ×1

service-provider ×1