java设计模式 -------- 行为模式 之 策略模式(4)
2023-09-27 14:23:29 时间
[本文是自己学习所做笔记。欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]
上面3节实现了从最初的对整形数组排序到最后能够对全部类型都能够依据须要定义自已的比較器进行排序,这里面不同的比較器,实现了不同的算法。而且单独成一个类。在应用时,能够依据实际须要灵活选择,可扩展性强,事实上这里就用到了策略模式。
策略模式Strategy是属于设计模式中对象行为模式型模式,主要是定义 一系列的算法,把这些算法一个个封装成单独的类,比方以上三节中的比較器。策略模式应用比較广泛。如学校的流量变化图。可能有两种实现方式,一个是拆线。一个是饼状形表示,又如。我们上述3节中的Cat类型的高度比較器。重量比較器。通过 定义不同的策略,我们达到了在程序执行期间,能够自由切换算法的上的。
实际整个策略模式的核心部分就是抽象类或接口的使用。使用策略模式能够在用户须要变化时,改动代码量非常少。并且高速。
策略模式和工厂模式有一定的类似。
策略械相对简单easy理解,而且能够在执行时刻自由切换。而工厂模式主要是用来创建对象的。
策略模式适合下列场合:
1. 以不同的格式保存文件
2. 以不同的算法压缩文件
3. 以不同的算法截获图像
4. 以不同的格式输出相同数据的图形,如曲线。Bar等。
......
总之,一句话。策略模式适合于实际开发中遇到的“要以不同的算法。不同的格式等实现同样的功能”的情形。
策略模式的决定权在用户,系统本身提供不同算法的实现,对各种算法做封装。因此。策略模式多用在算法决策系统中。外部用户仅仅须要决定用哪个算法就可以。
相关文章
- java设计模式--行为型模式--命令模式
- 【java_设计模式】建造者模式
- Java 单例模式的常见应用场景
- Java 设计模式之工厂模式
- 【java设计模式初探0】_单例模式
- java设计模式----状态模式
- java设计模式----组合模式
- Java设计模式(8)——结构型模式之组合模式(Composite)
- Java设计模式(1)——创建型模式之简单工厂模式(Simple Factory)
- JAVA 设计模式 迭代器模式
- JAVA设计模式之【观察者模式】
- JAVA设计模式之【装饰者模式】
- Java设计模式学习(1)-单例模式
- Java-马士兵设计模式学习笔记-观察者模式-OOD 封装Listener
- Java三种代理模式:静态代理、动态代理和cglib代理
- java设计模式之桥接模式
- java设计模式之适配器模式
- java设计模式之原型模式
- java之设计模式工厂三兄弟之工厂方法模式
- java设计模式详解一(工厂方法模式)
- java和设计模式(行为模式)
- java设计优化--代理模式
- JAVA设计模式初探之桥接模式
- Java 利用枚举实现单例模式
- 【JAVA长虹键法】第十式 桥接模式(23种设计模式)
- 【JAVA长虹键法】第六式 原型模式(23种设计模式)
- Java线程池(Callable+Future模式)
- Java之节点流和处理流(Buffered字节字符处理流)