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动态代理模式
生成代理类,根据实际参数,返回一个接口的实现。
可扩展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动态代理模式
生成代理类,根据实际参数,返回一个接口的实现。
相关文章推荐
- (八)Spring核心框架 - AOP的原理及源码解析
- Log4j源码解析--框架流程+核心解析
- Hadoop MapReduce核心技术浅析-----RPC框架解析
- Spring核心框架 - AOP的原理及源码解析
- Java并发编程高阶技术 高性能并发框架源码解析与实战
- 小博老师解析Java核心技术点 ——8个常见日志框架
- NIO框架之MINA源码解析(二):mina核心引擎
- Log4j源码解析--框架流程+核心解析
- Java底层架构之RPC框架Dubbo核心原理之源码分析
- RPC框架(五)dubbo源码分析--Spring解析dubbo标签
- Spring核心框架 - AOP的原理及源码解析
- 小博老师解析Java核心技术点 ——8个常见日志框架
- NIO框架之MINA源码解析(二):mina核心引擎
- (六)Spring核心框架 - IOC的源码解析
- 状态栏框架-- 深入Android应用开发:核心技术解析与最佳实践
- 秋色园QBlog技术原理解析:博客一键安装工具技术实现[附源码下载]
- 强烈推荐Android开发技术系列文,android底层架构,android核心框架
- 技术解析:什么是模式? 什么是框架?
- 【开源系列】三国演义LBS (八)源码:核心框架:数据库建模
- AJAX的核心技术解析