Dubbo源码分析:设计总结
设计原则
1. 多用组合,少用继承
2. 针对接口编程,不针对实现编程
3. 依赖抽象,不要依赖具体实现类。
设计模式
1. 策略设计模式:Dubbo扩展Spring的xml标签解析
2. 装饰者设计模式:Invoker链组建
3. 模板设计模式:一般的机制都有,抽象父类定义使用流程,子类根据业务需求实现方法内容
4. 动态代理:Invoker对象封装,
5. 单件设计模式:ExtensionLoader实现
6. 适配器设计模式:各个模块的管理对象;动态代生成的管理对象,这里采用了复合设计模式有动态代理(javassist的AOP)+适配置设计模式。
7. 迭代器:对JDK的集合扩展。(忘记编写代码的类,以后再找)
8. 工厂设计模式:ExtensionFactory和ProxyFactory机制。