Spring架构详解之Spring设计模式分析之策略模式
来源:互联网 发布:什么是人工智能 编辑:程序博客网 时间:2024/06/07 02:21
策略模式原理
策略模式顾名思义就是做某事的策略,这在编程上通常是指完成某个操作可能有多种方法,这些方法各有千秋,可能有不同的适应的场合,然而这些操作方法都有可能用到。各一个操作方法都当作一个实现策略,使用者可能根据需要选择合适的策略。
下面是策略模式的结构:
策略模式的结构
- Context:使用不同策略的环境,它可以根据自身的条件选择不同的策略实现类来完成所要的操作。它持有一个策略实例的引用。创建具体策略对象的方法也可以由他完成。
- Strategy:抽象策略,定义每个策略都要实现的策略方法
- ConcreteStrategy:具体策略实现类,实现抽象策略中定义的策略方法
Spring 中策略模式的实现
Spring 中策略模式使用有多个地方,如 Bean 定义对象的创建以及代理对象的创建等。这里主要看一下代理对象创建的策略模式的实现。
前面已经了解 Spring 的代理方式有两个 Jdk 动态代理和 CGLIB 代理。这两个代理方式的使用正是使用了策略模式。它的结构图如下所示:
Spring 中策略模式结构图
在上面结构图中与标准的策略模式结构稍微有点不同,这里抽象策略是 AopProxy 接口,Cglib2AopProxy 和 JdkDynamicAopProxy 分别代表两种策略的实现方式,ProxyFactoryBean 就是代表 Context 角色,它根据条件选择使用 Jdk 代理方式还是 CGLIB 方式,而另外三个类主要是来负责创建具体策略对象,ProxyFactoryBean 是通过依赖的方法来关联具体策略对象的,它是通过调用策略对象的 getProxy(ClassLoader classLoader) 方法来完成操作。
0 0
- Spring架构详解之Spring设计模式分析之策略模式
- Spring架构详解之Spring设计模式分析之代理模式
- Spring 设计模式之策略模式应用
- 设计模式之spring分析
- Spring的事务管理机制学习(设计模式之策略模式)
- 设计模式之策略模式简要分析
- 设计模式之策略模式详解
- Spring 设计模式之适配器
- 系统架构设计——设计模式之策略模式
- 设计模式之策略
- 设计模式之策略
- 设计模式之策略
- 设计模式之策略
- 设计模式之策略
- 架构设计九之策略模式、迭代器模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- scale9Sprite和sprite
- 《React-Native系列》45、踩坑记录
- qt 官方生成exe打包文件——windeployqt
- 为什么C和C++牛人多
- 区别和详解:jQuery extend()和jQuery.fn.extend()
- Spring架构详解之Spring设计模式分析之策略模式
- 文章标题
- 自定义View导致的RecyclerView滑动卡顿
- 网络编程:Reactor与Proactor的概念
- 送给曾经浮躁不安的自己。。。。
- 对话框 PopupWindow 相关
- arm平台分类和配置
- HBase参数优化
- postgre按照某列前几位连接并显示