您的位置:首页 > 其它

dubbo框架源码核心技术解析

2016-08-17 13:18 459 查看
1.dubbo与spring

可扩展Schema自定义配置支持

META-INF下的spring.handlers文件中指定了dubbo的xml解析类

2.jdkspi扩展

在META-INF目录下,放置文件名为接口全称,文件中为key、value键值对

通过URL对象来传递key值

ExtensionLoader则通过接口类名和key值获取一个实现

动态代理(根据实际调用时的一些参数动态决定要调用的类了)

自动包装

3.url总线设计

通常做法:

把层与层之间的交互参数做成Model,这样层与层之间沟通成本比较大,扩展起来也比较麻烦。

dubbo做法:

url总线的设计,各层解耦

4.设计模式

4.1工厂模式

private static final Protocol protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();

Adaptive实现,可以做到调用时动态决定调用哪个实现

4.2装饰器模式

根据调用时参数,动态决定调用链。

4.3观察者模式

为被观察对象设置listener

4.4动态代理模式

生成代理类,根据实际参数,返回一个接口的实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: