美文网首页
dubbo config的继承思想

dubbo config的继承思想

作者: 无聊之园 | 来源:发表于2021-03-30 16:02 被阅读0次

    这个类,把很多很多配置(比如service、application、reference)都可能用到的分析配置的方法,集成到一个AbstractConfig中。
    省的每次配置类,都写一遍。
    如果不用这种设计模式,则应该会单独写一个工具类,然后把这些分析配置的方法写在工具类里。
    但是dubbo,集成很多层,比如service.setApplication、service.setRegistry方法,是AbstractInterfaceConfig类的。service.setInterface、service.setRef是ServiceConfigBase方法,service.export是ServiceConfig方法。
    因为setApplication,setRegistry方法是service和reference等都需要使用的。
    而setInterface、setRef、export是service使用的。
    从这看到这种把公共分层抽离出来,把私有独立出来的设计。
    让我想到我之前写的关于web和app的service分离的设计

       ServiceConfig<GreetingsService> service = new ServiceConfig<>();
            service.setApplication(new ApplicationConfig("first-dubbo-provider"));
            service.setRegistry(new RegistryConfig("zookeeper://" + zookeeperHost + ":2181"));
            service.setInterface(GreetingsService.class);
            service.setRef(new GreetingsServiceImpl());
            service.export();
    

    看一下ServiceConfig继承结构:


    image.png

    相关文章

      网友评论

          本文标题:dubbo config的继承思想

          本文链接:https://www.haomeiwen.com/subject/yqkghltx.html