我是靠谱客的博主 秀丽曲奇,最近开发中收集的这篇文章主要介绍服务提供者框架模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

public class Services {
    private Services(){}

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

    public static final String DEFAULT_PROVIDER_NAME = "<def>";

    //provider register Api 提供者注册API,系统用来注册实现,让客户端访问它们的
    public static void registerDefaultProvider(Provider p){
        registerProvider(DEFAULT_PROVIDER_NAME,p);
    }

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

    public static Service newInstance(){
        return newInstance(DEFAULT_PROVIDER_NAME);
    }
    //service access api 客户端用来获取服务的实例的
    public static Service newInstance(String name){
        Provider p = providers.get(name);
        if (p == null){
            throw new IllegalArgumentException("No provider registered with name:"+name);//IllegalArgumentException此异常表明向方法传递了一个不合法或不正确的参数
        }
        return p.newService();
    }
}
//服务接口:提供者实现
interface Service{
//    ...
}
//提供者负责创建其服务实现的实例
interface Provider{
    Service newService();
}


对于JDBC来说,

服务接口:Connection

提供者注册API:DriverManager.registerDriver

服务访问API:DriverManager.getConnection

服务提供者接口:Driver

最后

以上就是秀丽曲奇为你收集整理的服务提供者框架模式的全部内容,希望文章能够帮你解决服务提供者框架模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部